Merge branch 'new_theme' of bitbucket.org:venbainformationtechnology/ria into new_theme

This commit is contained in:
VE10-Sanjeev 2024-08-30 03:46:18 +00:00
commit fc22fed3ff
7 changed files with 3554 additions and 2510 deletions

View File

@ -1,485 +1,478 @@
<script>
$(document).ready(function () {
$("#client_name").select2();
$("#item_name").select2();
});
$(document).ready(function() {
$("#client_name").select2();
$("#item_name").select2();
});
</script>
<link rel="stylesheet" href="https://cdn.datatables.net/buttons/1.4.2/css/buttons.dataTables.min.css">
<style>
.dataTables_filter input {padding: 4px;}
.dataTables_filter {
width: 50%;
float: right;
text-align: right;
}
.dataTables_paginate {
width: 50%;
float: right;
text-align: right;
}
div.dt-buttons {
position: relative;
float: right;
<style>
th{
width:auto !important;
}
.dataTables_filter input {
padding: 4px;
}
}
.btn-success {
background-color: #00d976;;
border-color: #00d976;;
}
</style>
<div class="content-wrapper">
<section class="content">
<div class="row" style="min-height: 600px;">
<!-- Left col -->
<div class="col-md-12">
<!-- TABLE: LATEST ORDERS -->
<div class="box box-info">
<div class="box-header with-border">
<center>
<h3 class="box-title">
<p><b>Report - Pending Purchase Order </b><br><br><?php echo $headline ?></p>
</h3>
</center>
</div>
<!-- /.box-header -->
<div class="panel-body">
.dataTables_filter {
width: 50%;
float: right;
text-align: right;
}
<form method="post" action="<?php echo base_url("Report_pending_purchase"); ?>">
.dataTables_paginate {
width: 50%;
float: right;
text-align: right;
}
<div class="form-group has-feedback">
<div class="col-md-4">
<label for="client_name">
<?php echo 'Supplier'; ?>
</label>
<div class="input-group">
<select class="form-control" id="client_name" name="client_name">
<option value="">Select Supplier</option>
<?php
foreach($cust as $item):
{?>
<option value="<?php echo $item->SupplierName;?>"><?php echo $item->SupplierName ; ?></option>
<?php } endforeach; ?>
</select>
</div>
</div>
<div class="col-md-4">
<label for="client_name">
<?php echo'Material'; ?>
</label>
<div class="input-group">
<select class="form-control" id="item_name" name="item_name">
<option value="">Select Material</option>
<?php
foreach($material as $it):
{?>
<option value="<?php echo $it->MaterialName;?>"><?php echo $it->MaterialName ; ?></option>
<?php } endforeach; ?>
</select>
</div>
</div>
<div class="col-md-2">
<label for="to_date">
<?php echo 'Year'; ?>
</label>
<div class="input-group">
<select class="form-control" id="financialyear" name="financialyear">
<option value="">Select Year</option>
<?php
foreach($finyear as $item):
{?>
<option value="<?php echo $item->financial_year;?>"><?php echo $item->financial_year ; ?></option>
<?php } endforeach; ?>
</select>
</div>
</div>
<div class="col-md-2">
<label for="to_date">
<?php echo 'Month'; ?>
</label>
<div class="input-group">
<select class="form-control" id="month" name="month">
<option value="">Select Month</option>
<option value="January">January</option>
<option value="February">February</option>
<option value="March">March</option>
<option value="April">April</option>
<option value="May">May</option>
<option value="June">June</option>
<option value="July">July</option>
<option value="August">August</option>
<option value="September">September</option>
<option value="October">October</option>
<option value="November">November</option>
<option value="December">December</option>
</select>
</div>
</div>
<div class="col-md-4">
<label for="from_date">
<?php echo 'From Date'; ?>
</label>
<div class="input-group">
<input name="from_date" id="max-date" class="form-control datepicker">
<span class="input-group-addon">
<i class="fa fa-calendar fa-fw"></i>
</span>
</div>
</div>
div.dt-buttons {
position: relative;
/* float: right; */
<div class="col-md-4">
<label for="to_date">
<?php echo 'To Date'; ?>
</label>
<div class="input-group">
<input name="to_date" id="min-date" class="form-control datepicker">
<span class="input-group-addon">
<i class="fa fa-calendar fa-fw"></i>
</span>
</div>
}
</style>
<div class="content-page">
<div class="content">
<!-- Start Content-->
<div class="container-fluid">
<!-- start page title -->
<div>
<div class="row">
<div class="col-6">
<div class="page-title-box page-title-box-alt">
<h4 class="page-title"><b>Report - Pending Purchase Order </b><br><br><?php echo $headline ?></h4>
</div>
<div class="col-md-2 col-md-offset-2"><br>
<input type="submit" class="btn btn-success" name="btn_submit"
value="View Report">
</div>
</div>
</form>
</div>
<div class="box-body">
<div>
<table id="cc" class="table table-bordered table-hover" style="background-color:#fff;font-size:12px;" >
<thead style="background-color: #ddd;">
<tr>
<th style="text-align:center">PO Date</th>
<th style="text-align:center">PO No</th>
<th style="text-align:center">Supplier Name</th>
<th style="text-align:center">Material Name</th>
<th style="text-align:center">Category</th>
<th style="text-align:center">Ordered Quantity</th>
<th style="text-align:center">Received Quantity</th>
<th style="text-align:center">Pending Quantity</th>
</tr>
</thead>
<tbody>
<?php if(!empty($ppurchse)){
$mvt=0.00;
$yqt=0.00;
$yvt=0.00;
foreach($ppurchse as $rel)
{
$cat = $rel->category;
?>
<tr>
<!-- <td><span>
<a href="<?= base_url() ?>report/link_purchase?sid=<?php //echo $rel->sid;?>&ab=<?php //echo $ab;?>&mid=<?php //echo $rel->mid;?>"><?php //echo $rel->supplier_name;?></a>
</span></td>-->
<td><span>
<?php echo $rel->pdate;?>
</span></td>
<td><span>
<?php echo $rel->po;?>
</span></td>
<td><span>
<?php echo $rel->supplier;?>
</span></td>
<td><span>
<?php echo $rel->material;?>
</span></td>
<td><span>
<?php echo $rel->category;?>
</span></td>
<td style="text-align:right"><span><?php
$mvt= $mvt + round($rel->quantity);
?>
<?php echo round($rel->quantity);?>
</span></td>
<td style="text-align:right"><span><?php
$yqt= $yqt + round($rel->received);
?>
<?php echo round($rel->received);?>
</span></td>
<td style="text-align:right"><span><?php
$yvt= $yvt + round($rel->pending);
?>
<?php echo round($rel->pending);?>
</span></td>
</tr>
<?php
}
?>
</tbody>
<tfoot width="100%">
<tr>
<td style="text-align:center;"><strong>Total</strong></td>
<td style="text-align:right">
<strong>
<?php
{
echo '';
}
?>
</strong>
</td>
<td style="text-align:right">
<strong>
<?php
{
echo '';
}
?>
</strong>
</td>
<td style="text-align:right">
<strong>
<?php
{
echo '';
}
?>
</strong>
</td>
<td style="text-align:right">
<strong>
<?php
{
echo '';
}
?>
</strong>
</td>
<td style="text-align:right">
<strong>
<?php
{
echo $mvt;
}
?>
</strong>
</td>
<td style="text-align:right">
<strong>
<?php
{
echo $yqt;
}
?>
</strong>
</td>
<td style="text-align:right">
<strong>
<?php
{
echo $yvt;
}
?>
</strong>
</td>
</tr>
</tfoot>
<?php
}
?>
</table>
</div>
<div class="col-6 text-right">
</div>
</div>
<div class="row">
<div class="col-12">
<div class="card">
<!-- <form class="Date-filter-form" id="DateRangeFilter" style="margin-top: 14px;margin-bottom: -11px;margin-left: 33px;"> -->
<div class="card-body">
<form method="post" action="<?php echo base_url("Report_pending_purchase"); ?>">
<div class="form-group">
<div class="row">
<div class="col-4">
<label for="client_name">
<?php echo 'Supplier'; ?>
</label>
<select class="form-control" id="client_name" name="client_name">
<option value="">Select Supplier</option>
<?php
foreach ($cust as $item): { ?>
<option value="<?php echo $item->SupplierName; ?>"><?php echo $item->SupplierName; ?></option>
<?php }
endforeach; ?>
</select>
</div>
<div class="col-4">
<label for="client_name">
<?php echo 'Material'; ?>
</label>
<select class="form-control" id="item_name" name="item_name">
<option value="">Select Material</option>
<?php
foreach ($material as $it): { ?>
<option value="<?php echo $it->MaterialName; ?>"><?php echo $it->MaterialName; ?></option>
<?php }
endforeach; ?>
</select>
</div>
<div class="col-2">
<label for="to_date">
<?php echo 'Year'; ?>
</label>
<select class="form-control" id="financialyear" name="financialyear">
<option value="">Select Year</option>
<?php
foreach ($finyear as $item): { ?>
<option value="<?php echo $item->financial_year; ?>"><?php echo $item->financial_year; ?></option>
<?php }
endforeach; ?>
</select>
</div>
<div class="col-2">
<label for="to_date">
<?php echo 'Month'; ?>
</label>
<div class="input-group">
<select class="form-control" id="month" name="month">
<option value="">Select Month</option>
<option value="January">January</option>
<option value="February">February</option>
<option value="March">March</option>
<option value="April">April</option>
<option value="May">May</option>
<option value="June">June</option>
<option value="July">July</option>
<option value="August">August</option>
<option value="September">September</option>
<option value="October">October</option>
<option value="November">November</option>
<option value="December">December</option>
</select>
</div>
</div>
</div>
<div class="row">
<div class="col-4">
<label for="from_date">
<?php echo 'From Date'; ?>
</label>
<div class="input-group">
<input type="date" name="from_date" id="max-date" class="form-control datepicker">
</div>
</div>
<div class="col-4">
<label for="to_date">
<?php echo 'To Date'; ?>
</label>
<div class="input-group">
<input type="date" name="to_date" id="min-date" class="form-control datepicker">
</div>
</div>
<div class="col-md-2"></div>
<div class="col-md-2 text-right"><br>
<input type="submit" class="btn btn-success" name="btn_submit"
value="View Report">
</div>
</div>
</div>
<div class="form-group has-feedback">
</div>
<!-- </form> -->
<!-- <input type="hidden" name="table" value="requisition">
<label for="fromDate">From:</label>
<input class="form-control date_range" type="date" id="fromDate" name="fromDate" placeholder="Select From Date" autocomplete="off" required>
<label for="toDate">To:</label>
<input class="form-control date_range" type="date" id="toDate" name="toDate" placeholder="Select To Date" autocomplete="off" required>
<button type="submit" class="range_search_button"><i class="fe-search" aria-hidden="true" class="icon-button" title="Search"></i></button>
<i class="fe-rotate-cw range_reset_button" aria-hidden="true" class="icon-button" id="resetButton" title="Reset"></i>
<div class="error" id="error"></div> -->
</form>
<table id="cc" class="table table-bordered table-hover" style="background-color:#fff;font-size:12px;">
<!-- <table class="table table-bordered table-hover" id="asset_list_table" style="background-color:#fff;font-size:12px;"> -->
<thead style="background-color: #ddd;">
<tr>
<th style="text-align:center" >PO Date</th>
<th style="text-align:center">PO No</th>
<th style="text-align:center">Supplier Name</th>
<th style="text-align:center">Material Name</th>
<th style="text-align:center">Category</th>
<th style="text-align:center">Ordered Quantity</th>
<th style="text-align:center">Received Quantity</th>
<th style="text-align:center">Pending Quantity</th>
</tr>
</thead>
<tbody>
<?php if (!empty($ppurchse)) {
$mvt = 0.00;
$yqt = 0.00;
$yvt = 0.00;
foreach ($ppurchse as $rel) {
$cat = $rel->category;
?>
<tr>
<!-- <td><span>
<a href="<?= base_url() ?>report/link_purchase?sid=<?php //echo $rel->sid;
?>&ab=<?php //echo $ab;
?>&mid=<?php //echo $rel->mid;
?>"><?php //echo $rel->supplier_name;
?></a>
</span></td>-->
<td><span>
<?php echo $rel->pdate; ?>
</span></td>
<td><span>
<?php echo $rel->po; ?>
</span></td>
<td><span>
<?php echo $rel->supplier; ?>
</span></td>
<td><span>
<?php echo $rel->material; ?>
</span></td>
<td><span>
<?php echo $rel->category; ?>
</span></td>
<td style="text-align:right"><span><?php
$mvt = $mvt + round($rel->quantity);
?>
<?php echo round($rel->quantity); ?>
</span></td>
<td style="text-align:right"><span><?php
$yqt = $yqt + round($rel->received);
?>
<?php echo round($rel->received); ?>
</span></td>
<td style="text-align:right"><span><?php
$yvt = $yvt + round($rel->pending);
?>
<?php echo round($rel->pending); ?>
</span></td>
</tr>
<?php
}
?>
</tbody>
<tfoot width="100%">
<tr>
<td style="text-align:center;"><strong>Total</strong></td>
<td style="text-align:right">
<strong>
<?php {
echo '';
}
?>
</strong>
</td>
<td style="text-align:right">
<strong>
<?php {
echo '';
}
?>
</strong>
</td>
<td style="text-align:right">
<strong>
<?php {
echo '';
}
?>
</strong>
</td>
<td style="text-align:right">
<strong>
<?php {
echo '';
}
?>
</strong>
</td>
<td style="text-align:right">
<strong>
<?php {
echo $mvt;
}
?>
</strong>
</td>
<td style="text-align:right">
<strong>
<?php {
echo $yqt;
}
?>
</strong>
</td>
<td style="text-align:right">
<strong>
<?php {
echo $yvt;
}
?>
</strong>
</td>
</tr>
</tfoot>
<?php
}
?>
</table>
</div> <!-- end card body-->
</div> <!-- end card -->
</div><!-- end col-->
</div>
</div>
</div>
<!-- /.box -->
</div>
<!-- /.col -->
</div>
</section>
</div> <!-- container -->
</div> <!-- content -->
</div>
</div>
<script src="https://cdn.datatables.net/buttons/1.4.2/js/dataTables.buttons.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/vfs_fonts.js"></script>
<script src="https://cdn.datatables.net/buttons/1.4.2/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/buttons/1.4.2/js/buttons.colVis.min.js"></script>
<script src="https://cdn.datatables.net/plug-ins/1.10.16/sorting/datetime-moment.js"></script>
<script>
<script src="https://cdn.datatables.net/buttons/1.4.2/js/dataTables.buttons.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/vfs_fonts.js"></script>
<script src="https://cdn.datatables.net/buttons/1.4.2/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/buttons/1.4.2/js/buttons.colVis.min.js"></script>
<script src="https://cdn.datatables.net/plug-ins/1.10.16/sorting/datetime-moment.js"></script>
<script>
// Bootstrap datepicker
// Set up your table
$(document).ready(function() {
// $.fn.dataTable.moment('DD-MM-YYYY');
// table = $('#cc').DataTable({
// "language": {
// "emptyTable": "<center> Data Not Found ! </center>"
// },
// "aaSorting": [
// [0, "desc"]
// ],
// "pageLength": 10,
// "lengthMenu": [10, 25, 50, 100],
// "autoWidth": false,
// orderCellsTop: true,
// "dom": "<'row'<'col-md-6'l><'col-md-6'Bf>>" +
// "<'row'<'col-md-6'><'col-md-6'>>" +
// "<'row'<'col-md-12't>><'row'<'col-md-4'i><'col-md-8'p>>",
// buttons: [
// Bootstrap datepicker
// Set up your table
$(document).ready(function() {
$.fn.dataTable.moment( 'DD-MM-YYYY' );
table = $('#cc').DataTable( {
"language": {
"emptyTable": "<center> Data Not Found ! </center>"
},
"aaSorting": [[ 0, "desc" ]],
"pageLength": 10,
"lengthMenu": [10, 25, 50, 100],
"autoWidth": false,
orderCellsTop: true,
"dom": "<'row'<'col-md-6'l><'col-md-6'Bf>>" +
"<'row'<'col-md-6'><'col-md-6'>>" +
"<'row'<'col-md-12't>><'row'<'col-md-4'i><'col-md-8'p>>",
buttons: [
// {
// extend: 'excelHtml5',
// footer: 'true',
// //messageTop: $('h3').text(),
// title: $('h3').text(),
// exportOptions: {
// columns: ':visible'
// }
// },
'colvis'
],
"footerCallback": function ( row, data, start, end, display ) {
var api = this.api(), data;
// Remove the formatting to get integer data for summation
var intVal = function ( i ) {
return typeof i === 'string' ?
parseFloat(i.replace(/[^0-9]+/g,"")*1) :
typeof i === 'number' ?
parseFloat(i) : 0;
};
// // {
// // extend: 'excelHtml5',
// // footer: 'true',
// // //messageTop: $('h3').text(),
// // title: $('h3').text(),
// // exportOptions: {
// // columns: ':visible'
// // }
// // },
TotalOrderedQTY = api
.column( 5, { search:'applied' } )
.data()
.reduce( function (a, b) {
return intVal(a) + intVal(b);
}, 0 );
// 'colvis'
// ],
// "footerCallback": function(row, data, start, end, display) {
// var api = this.api(),
// data;
$( api.column( 5 ).footer() ).html( TotalOrderedQTY.toFixed().bold() );
TotalRcvdQTY = api
.column( 6, { search:'applied' } )
.data()
.reduce( function (a, b) {
return intVal(a) + intVal(b);
}, 0 );
$( api.column( 6 ).footer() ).html( TotalRcvdQTY.toFixed().bold() );
// // Remove the formatting to get integer data for summation
// var intVal = function(i) {
// return typeof i === 'string' ?
// parseFloat(i.replace(/[^0-9]+/g, "") * 1) :
// typeof i === 'number' ?
// parseFloat(i) : 0;
// };
TotalPendingQTY = api
.column( 7, { search:'applied' } )
.data()
.reduce( function (a, b) {
return intVal(a) + intVal(b);
}, 0 );
$( api.column( 7 ).footer() ).html( TotalPendingQTY.toFixed().bold() );
}
} );
} );
$('#mySelect').on('change',function(){
table
.column(4)
.search(this.value)
.draw();
});
$( function() {
// TotalOrderedQTY = api
// .column(5, {
// search: 'applied'
// })
// .data()
// .reduce(function(a, b) {
// return intVal(a) + intVal(b);
// }, 0);
// $(api.column(5).footer()).html(TotalOrderedQTY.toFixed().bold());
// TotalRcvdQTY = api
// .column(6, {
// search: 'applied'
// })
// .data()
// .reduce(function(a, b) {
// return intVal(a) + intVal(b);
// }, 0);
// $(api.column(6).footer()).html(TotalRcvdQTY.toFixed().bold());
// TotalPendingQTY = api
// .column(7, {
// search: 'applied'
// })
// .data()
// .reduce(function(a, b) {
// return intVal(a) + intVal(b);
// }, 0);
// $(api.column(7).footer()).html(TotalPendingQTY.toFixed().bold());
// }
// });
// Initialize the DataTable
var table = $('#cc').DataTable({
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
buttons: [
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
],
pageLength: 10, // Default rows per page
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
responsive: true, // Responsive table
order: [[0, 'desc']], // Default ordering (column index 0, descending)
language: {
paginate: {
next: '<i class="fas fa-angle-right"></i>', // Next button icon
previous: '<i class="fas fa-angle-left"></i>' // Previous button icon
}
}
});
});
$('#mySelect').on('change', function() {
table
.column(4)
.search(this.value)
.draw();
});
$(function() {
//var dateFormat = "mm/dd/yy",
from = $( "#min-date" )
.datepicker({
dateFormat: "dd-mm-yy",
defaultDate: "+0d",
changeMonth: true,
//numberOfMonths: 1
})
.on( "change", function() {
to.datepicker("option", "minDate", getDate( this ) );
}),
to = $( "#max-date" ).datepicker({
dateFormat: "dd-mm-yy",
from = $("#min-date")
.datepicker({
dateFormat: "dd-mm-yy",
defaultDate: "+0d",
changeMonth: true,
//numberOfMonths: 1
})
.on( "change", function() {
from.datepicker( "option", "maxDate", getDate( this ) );
.on("change", function() {
to.datepicker("option", "minDate", getDate(this));
}),
to = $("#max-date").datepicker({
dateFormat: "dd-mm-yy",
defaultDate: "+0d",
changeMonth: true,
//numberOfMonths: 1
})
.on("change", function() {
from.datepicker("option", "maxDate", getDate(this));
});
function getDate( element ) {
function getDate(element) {
var date;
try {
date = $.datepicker.parseDate( dateFormat, element.value );
} catch( error ) {
date = $.datepicker.parseDate(dateFormat, element.value);
} catch (error) {
date = null;
}
return date;
}
} );
</script>
});
</script>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,14 +1,16 @@
<?php $defaultDate = ''; ?>
<style>
.modal-dialog-centered {
display: flex;
align-items: center;
justify-content: center;
min-height: 100vh;
}
.modal-content-custom-width {
width: 75%; /* Adjust the width as needed */
}
display: flex;
align-items: center;
justify-content: center;
min-height: 100vh;
}
.modal-content-custom-width {
width: 75%;
/* Adjust the width as needed */
}
.dataTables_paginate {
margin-top: -5%;
@ -38,251 +40,301 @@
}
</style>
<style>
#Requisition_filter {
float: inline-end;
}
#Requisition_filter {
float: inline-end;
}
#Requisition_wrapper .row .col-sm-4 {
flex-basis: 50%;
float: inline-end;
}
#Requisition_wrapper .row .col-sm-4 {
flex-basis: 50%;
float: inline-end;
}
#Requisition_paginate .pagination {
flex-basis: 50%;
float: inline-end;
margin: 0 0 15px;
}
#Requisition_paginate .pagination {
flex-basis: 50%;
float: inline-end;
margin: 0 0 15px;
}
#Requisition_wrapper .row:nth-child(3),
#Requisition_wrapper .row:nth-child(1) {
padding: 0 15px;
}
#Requisition_wrapper .row:nth-child(3),
#Requisition_wrapper .row:nth-child(1) {
padding: 0 15px;
}
#Requisition_info {
margin-top: 5px;
}
#Requisition_info {
margin-top: 5px;
}
.dataTables_wrapper {
padding-bottom: 0;
}
.dataTables_wrapper {
padding-bottom: 0;
}
span.highlight {
background-color: yellow;
}
span.highlight {
background-color: yellow;
}
</style>
<style>
.Date-filter-form {
display: flex;
align-items: center;
gap: 10px; /* Adjust the gap as needed */
}
.Date-filter-form input, .Date-filter-form button {
padding: 5px;
font-size: 14px;
}
.Date-filter-form button {
background-color: #007bff;
color: white;
border: none;
cursor: pointer;
}
.Date-filter-form button:hover {
background-color: #0056b3;
}
.icon-button {
background: none;
border: none;
cursor: pointer;
color: #007bff;
font-size: 18px;
}
.icon-button:hover {
color: #0056b3;
}
</style>
.Date-filter-form {
display: flex;
align-items: center;
gap: 10px;
/* Adjust the gap as needed */
}
.Date-filter-form input,
.Date-filter-form button {
padding: 5px;
font-size: 14px;
}
.Date-filter-form button {
background-color: #007bff;
color: white;
border: none;
cursor: pointer;
}
.Date-filter-form button:hover {
background-color: #0056b3;
}
.icon-button {
background: none;
border: none;
cursor: pointer;
color: #007bff;
font-size: 18px;
}
.icon-button:hover {
color: #0056b3;
}
</style>
<div class="content-page">
<div class="content">
<div class="content">
<?php $attributes = array('class' => 'form-label-left CreatePO ', 'name' => 'CreatePO', 'id' => 'CreatePO', 'method' => 'post', 'role' => 'form');
echo form_open(base_url() . 'purchaseOrder', $attributes); ?>
<!-- Start Content-->
<div class="container-fluid">
<!-- start page title -->
<!-- Start Content-->
<div class="container-fluid">
<div class="modal fade" id="RequisitionDtlsModal" role="dialog">
<div class="modal-dialog modal-lg">
<!-- Modal content-->
<form>
<div class="modal-content">
<div class="modal-header">
<center>
<h4> Requisition Details - <label id="SelReqNo" name="SelReqNo"></label> </h4>
</center>
<button type="button" class="close" data-dismiss="modal">&times;</button>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-4">
<label>Request Type</label>
<div class="form-group">
<?php
$data = array('name' => 'ReqType', 'value' => set_value('ReqType'), 'id' => 'ReqType', 'class' => 'form-control', 'readonly' => 'true');
echo form_input($data);
?>
</div>
</div>
<div class="col-md-4">
<label>Requested By</label>
<div class="form-group">
<?php
$data = array('name' => 'ReqBy', 'value' => set_value('ReqBy'), 'id' => 'ReqBy', 'class' => 'form-control', 'readonly' => 'true');
echo form_input($data);
?>
</div>
</div>
<div class="col-md-4">
<label>Designation</label>
<div class="form-group">
<?php
$data = array('name' => 'Desigination', 'value' => set_value('Desigination'), 'id' => 'Desigination', 'class' => 'form-control', 'readonly' => 'true');
echo form_input($data);
?>
</div>
</div>
</div>
<div class="row">
<div class="col-md-4">
<label>Requested Date</label>
<div class="form-group">
<?php
$data = array('name' => 'RequistionDate', 'value' => set_value('RequistionDate'), 'id' => 'RequistionDate', 'class' => 'form-control', 'readonly' => 'true');
echo form_input($data);
?>
</div>
</div>
<div class="col-md-4">
<label>Cost Center Code</label>
<div class="form-group">
<?php
$data = array('name' => 'CostCenter', 'value' => set_value('CostCenter'), 'id' => 'CostCenter', 'class' => 'form-control', 'readonly' => 'true');
echo form_input($data); ?>
</div>
</div>
<div class="col-md-4">
<label>Avl Budget Amt</label>&nbsp;<img id="AlertImg" src="<?php echo base_url(); ?>public/assets/dist/img/red.png" alt="your image" width="25px" style="display:none" />
<div class="form-group">
<?php
$data = array('name' => 'AvlBudgetAmount', 'value' => set_value('AvlBudgetAmount'), 'id' => 'AvlBudgetAmount', 'class' => 'form-control', 'readonly' => 'true');
echo form_input($data);
?>
</div>
</div>
</div>
<div class="row">
<table class="table table-bordered editableTable" style="border:1px solid #fff">
<thead style="background-color: #ddd !important;">
<tr>
<th style="white-space: nowrap;">SNo</th>
<th style="white-space: nowrap;">Item Code</th>
<th style="white-space: nowrap;">Item Description</th>
<th style="white-space: nowrap;">UOM</th>
<th style="white-space: nowrap;">Requested Quantity</th>
<th style="white-space: nowrap;">Ordered Quantity</th>
<th style="white-space: nowrap;">Status</th>
</tr>
</thead>
<tbody id="tbleAppend"></tbody>
</table>
</div>
</div>
<div class="modal-footer">
<div class="col-md-12">
<a class="btn btn-info" data-dismiss="modal" value="Cancel">Ok</a>
</div>
</div>
</div>
</form>
</div>
</div>
<div class="modal fade" id="ImportPOCheck" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<center>
<h4>Do you want to create an Import PO for this Requisition?</h4>
</center>
<button type="button" class="close" data-dismiss="modal">&times;</button>
</div>
<div class="modal-body">
<div class="row text-center">
<div class="col-md-3">
</div>
<div class="col-md-3">
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="optImport" id="optImportYes" value="0">
<label class="form-check-label" for="optImportYes">YES</label>
</div>
</div>
<div class="col-md-3">
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="optImport" id="optImportNo" value="1" checked>
<label class="form-check-label" for="optImportNo">NO</label>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<div class="col-md-12 text-center">
<a class="btn btn-dark waves-effect waves-light" data-dismiss="modal" style="background-color: gray;border-color: gray;margin-right: 10px;">Cancel</a>
<input type="button" class="btn btn-success" onclick="SetImportPO();" value="OK" />
</div>
</div>
</div>
</div>
</div>
<!-- start page title -->
<div class="row">
<div class="col-12">
<div class="page-title-box page-title-box-alt">
<h4 class="page-title">Create Purchase Order from Requistion</h4>
</div>
</div>
</div>
<div class="col-12">
<div class="page-title-box page-title-box-alt">
<h4 class="page-title">Create Purchase Order from Requistion</h4>
</div>
</div>
</div>
<div class="row">
<div class="col-md-4">
<?php
helper('form');
$error = session()->getFlashdata('error');
if ($error) {
?>
<div class="alert alert-danger alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<?php echo session()->getFlashdata('error'); ?>
</div>
<?php
helper('form');
$error = session()->getFlashdata('error');
if ($error) {
?>
<div class="alert alert-danger alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<?php echo session()->getFlashdata('error'); ?>
</div>
<?php } ?>
<?php
$success = session()->getFlashdata('success');
if ($success) {
?>
<div class="alert alert-success alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<div class="alert alert-success alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<?php echo session()->getFlashdata('success'); ?>
</div>
</div>
<?php } ?>
<div class="row">
<div class="col-md-12">
<?php // \Config\Services::validation()->listErrors('<div class="alert alert-danger alert-dismissable">', ' <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button></div>');
?>
?>
</div>
</div>
</div>
<?php
$listErrors = session()->getFlashdata('listErrors');
if ($listErrors) { ?>
<div class="row">
<div class="col-md-12">
<div class="alert alert-danger alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<div class="row">
<div class="col-md-12">
<div class="alert alert-danger alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<?php echo session()->getFlashdata('listErrors'); ?>
</div>
</div>
</div>
</div>
<?php } ?>
<div class="col-md-12" style="margin-top: -79px;">
<!-- <div class="col-md-3 col-md-offset-9"> -->
<p>
<div align="right" style="padding-right:0px">
<!--<a href="<?php echo base_url(); ?>purchaseorderform/purchaseorder"> -->
<!--<button type="button" class="btn btn-success">Create PO</button></a> -->
<!--<input type="submit" class="btn btn-success" onclick="return Validate();" value="Create Purchase Order"> -->
<a class="btn btn-success" onclick="Validate();">Create Purchase Order</a>
<input type="hidden" name="txtReqNo" id="txtReqNo" />
<input type="hidden" name="txtReqType" id="txtReqType" />
</div>
<div align="right" style="padding-right:0px">
<!--<a href="<?php echo base_url(); ?>purchaseorderform/purchaseorder"> -->
<!--<button type="button" class="btn btn-success">Create PO</button></a> -->
<!--<input type="submit" class="btn btn-success" onclick="return Validate();" value="Create Purchase Order"> -->
<a class="btn btn-success" onclick="Validate();">Create Purchase Order</a>
<input type="hidden" name="txtReqNo" id="txtReqNo" />
<input type="hidden" name="txtReqType" id="txtReqType" />
</div>
</p>
<!-- </div> -->
</div>
</div>
<div class="row">
<div class="col-12">
<div class="card">
<span class="Date-filter-form" style="margin-top: 14px;margin-bottom: -11px;margin-left: 33px;">
<input type="hidden" name="table" value="requisition">
<label for="fromDate">From:</label>
<input class="form-control date_range" type="date" id="fromDate" name="fromDate" placeholder="Select From Date" autocomplete="off" required>
<label for="toDate">To:</label>
<input class="form-control date_range" type="date" id="toDate" name="toDate" placeholder="Select To Date" autocomplete="off" required>
<div class="card">
<span class="Date-filter-form" style="margin-top: 14px;margin-bottom: -11px;margin-left: 33px;">
<input type="hidden" name="table" value="requisition">
<label for="fromDate">From:</label>
<input class="form-control date_range" type="date" id="fromDate" name="fromDate" placeholder="Select From Date" autocomplete="off" required>
<label for="toDate">To:</label>
<input class="form-control date_range" type="date" id="toDate" name="toDate" placeholder="Select To Date" autocomplete="off" required>
<button type="button" class="range_search_button" id="DateRangeFilter"><i class="fe-search" aria-hidden="true" class="icon-button" title="Search"></i></button>
<i class="fe-rotate-cw range_reset_button" aria-hidden="true" class="icon-button" id="resetButton" title="Reset"></i>
<div class="error" id="error"></div>
</span>
<div class="card-body">
<button type="button" class="range_search_button" id="DateRangeFilter"><i class="fe-search" aria-hidden="true" class="icon-button" title="Search"></i></button>
<i class="fe-rotate-cw range_reset_button" aria-hidden="true" class="icon-button" id="resetButton" title="Reset"></i>
<div class="error" id="error"></div>
</span>
<div class="card-body">
<div class="modal fade" id="RequisitionDtlsModal" role="dialog">
<div class="modal-dialog" style="vertical-align: middle;width: fit-content">
<!-- Modal content-->
<form>
<div class="modal-content" style="width:800px">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<center>
<h4> Requisition Details - <label id="SelReqNo" name="SelReqNo"></label> </h4>
</center>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-4">
<label>Request Type</label>
<div class="form-group">
<?php
$data = array('name' => 'ReqType', 'value' => set_value('ReqType'), 'id' => 'ReqType', 'class' => 'form-control', 'readonly' => 'true');
echo form_input($data);
?>
</div>
</div>
<div class="col-md-4">
<label>Requested By</label>
<div class="form-group">
<?php
$data = array('name' => 'ReqBy', 'value' => set_value('ReqBy'), 'id' => 'ReqBy', 'class' => 'form-control', 'readonly' => 'true');
echo form_input($data);
?>
</div>
</div>
<div class="col-md-4">
<label>Designation</label>
<div class="form-group">
<?php
$data = array('name' => 'Desigination', 'value' => set_value('Desigination'), 'id' => 'Desigination', 'class' => 'form-control', 'readonly' => 'true');
echo form_input($data);
?>
</div>
</div>
</div>
<div class="row">
<div class="col-md-4">
<label>Requested Date</label>
<div class="form-group">
<?php
$data = array('name' => 'RequistionDate', 'value' => set_value('RequistionDate'), 'id' => 'RequistionDate', 'class' => 'form-control', 'readonly' => 'true');
echo form_input($data);
?>
</div>
</div>
<div class="col-md-4">
<label>Cost Center Code</label>
<div class="form-group">
<?php
$data = array('name' => 'CostCenter', 'value' => set_value('CostCenter'), 'id' => 'CostCenter', 'class' => 'form-control', 'readonly' => 'true');
echo form_input($data); ?>
</div>
</div>
<div class="col-md-4">
<label>Avl Budget Amt</label>&nbsp;<img id="AlertImg" src="<?php echo base_url(); ?>public/assets/dist/img/red.png" alt="your image" width="25px" style="display:none" />
<div class="form-group">
<?php
$data = array('name' => 'AvlBudgetAmount', 'value' => set_value('AvlBudgetAmount'), 'id' => 'AvlBudgetAmount', 'class' => 'form-control', 'readonly' => 'true');
echo form_input($data);
?>
</div>
</div>
</div>
<div class="row">
<table class="table table-bordered editableTable" style="border:1px solid #fff">
<thead style="background-color: #ddd !important;">
<tr>
<th style="white-space: nowrap;">SNo</th>
<th style="white-space: nowrap;">Item Code</th>
<th style="white-space: nowrap;">Item Description</th>
<th style="white-space: nowrap;">UOM</th>
<th style="white-space: nowrap;">Requested Quantity</th>
<th style="white-space: nowrap;">Ordered Quantity</th>
<th style="white-space: nowrap;">Status</th>
</tr>
</thead>
<tbody id="tbleAppend"></tbody>
</table>
</div>
</div>
<div class="modal-footer">
<div class="col-md-12">
<a class="btn btn-info" data-dismiss="modal" value="Cancel">Ok</a>
</div>
</div>
</div>
</form>
</div>
</div>
<table id="create_po_from_requistion" class="table dt-responsive nowrap w-100">
<thead>
<tr>
@ -291,9 +343,9 @@ span.highlight {
<th>Requistion Number</th>
<th>Requistion Type </th>
<th>Requested By</th>
<th>Tot. No. Of Line Items</th>
<th>Po Created Line Items</th>
<th>Partial PO Created Line Items</th>
<th>Tot Line Items</th>
<th>Po Line Items</th>
<th>Partial PO Line Items</th>
<th>New Line Items</th>
<th>Status</th>
<th>Department</th>
@ -305,85 +357,179 @@ span.highlight {
$index = 1;
foreach ($ReqList as $record) {
?>
<tr id="<?php echo $index; ?>">
<td><input type="checkbox" name="chk<?php echo $index; ?>" id="chk<?php echo $index; ?>" onclick="selectReqNo(<?php echo $index; ?>)" />&nbsp;</td>
<td align="right">
<?php
$dt = new DateTime($record->ReqDate);
$RequestedDate = $dt->format('d-m-Y');
echo $RequestedDate;
?>
</td>
<td><a data-toggle="modal" data-target="#RequisitionDtlsModal" data-id="<%=index%>" data-userid="<?php echo $record->ReqNo ?>"><u><?php echo $record->ReqNo; ?> </u></a></td>
<td><?php echo $record->ReqType; ?></td>
<td><?php echo $record->FirstName; ?></td>
<td align="right"><?php echo $record->TotalNoofLineItems; ?></td>
<td align="right"><?php echo $record->PolineItems; ?></td>
<td align="right"><?php echo $record->PartilallyLineItems; ?></td>
<td align="right"><?php echo $record->newLineItem; ?></td>
<td><?php echo $record->StatusName; ?></td>
<td><?php echo $record->DepartmentName; ?></td>
<td><?php echo $record->Designation; ?></td>
</tr>
<tr id="<?php echo $index; ?>">
<td><input type="checkbox" name="chk<?php echo $index; ?>" id="chk<?php echo $index; ?>" onclick="selectReqNo(<?php echo $index; ?>)" />&nbsp;</td>
<td align="right">
<?php
$dt = new DateTime($record->ReqDate);
$RequestedDate = $dt->format('d-m-Y');
echo $RequestedDate;
?>
</td>
<td><a data-toggle="modal" data-target="#RequisitionDtlsModal" data-id="<%=index%>" data-userid="<?php echo $record->ReqNo ?>"><u><?php echo $record->ReqNo; ?> </u></a></td>
<td><?php echo $record->ReqType; ?></td>
<td><?php echo $record->FirstName; ?></td>
<td align="right"><?php echo $record->TotalNoofLineItems; ?></td>
<td align="right"><?php echo $record->PolineItems; ?></td>
<td align="right"><?php echo $record->PartilallyLineItems; ?></td>
<td align="right"><?php echo $record->newLineItem; ?></td>
<td><?php echo $record->StatusName; ?></td>
<td><?php echo $record->DepartmentName; ?></td>
<td><?php echo $record->Designation; ?></td>
</tr>
<?php $index = $index + 1;
}
}
?>
</tbody>
</table>
<div class="modal fade" id="ImportPOCheck" role="dialog">
<div class="modal-dialog modal-dialog-centered">
<!-- Modal content-->
<div class="modal-content modal-content-custom-width">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Do You want to create Import PO for this Requistion?</h4>
</div>
<div class="modal-body">
<form>
<div class="radio">
<label><input type="radio" name="optImport" value="0" id="optImport">YES</label>
</div>
<div class="radio">
<label><input type="radio" name="optImport" value="1" id="optImport" checked="checked">NO</label>
</div>
</form>
</div>
<div class="modal-footer">
<!--<a class="btn btn-success" ID="Import" onclick="SetImportPO();" style="margin-top: -24px;">-->
<a class="btn btn-cancel" data-dismiss="modal" value="Cancel">Cancel</a>
<input type="submit" class="btn btn-success" onclick="SetImportPO();" value="OK" />
</div>
</div>
</div>
</div>
</div> <!-- end card body-->
</div> <!-- end card -->
</div><!-- end col-->
</div>
</div> <!-- container -->
</div> <!-- content -->
</div> <!-- container -->
</div> <!-- content -->
</div>
<script src="https://cdn.datatables.net/plug-ins/1.10.11/sorting/date-eu.js"></script>
<script>
$(document).ready(function() {
$("#RequisitionDtlsModal").on("shown.bs.modal", function(e) {
var ReqId = $(e.relatedTarget).data('userid');
$('#SelReqNo').html(ReqId);
// $('#content').loader('show');
$.ajax({
data: {
id: ReqId
},
type: "POST",
dataType: 'json',
url: "<?php echo base_url() ?>requisitionform/ViewRequest",
success: function(json) {
// $('#content').loader('hide');
var getAvalAmt = json.AvilBudAmount;
getAvalAmt = getAvalAmt.replace(/\,/g, '');
$("#ReqType").val(json.Requist[0]['ReqType']);
$("#ReqBy").val(json.Requist[0]['FirstName']);
$("#RequistionDate").val(json.Requist[0]['ReqDate']);
$("#Desigination").val(json.Requist[0]['Designation']);
$("#CostCenter").val(json.Requist[0]['CostCenterCode']);
$("#AvlBudgetAmount").val(parseFloat(getAvalAmt).toFixed(2));
$("#tbleAppend").empty();
$("#tbleAppend").append(json.Items);
}
});
});
var table = $('#create_po_from_requistion').DataTable({
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
buttons: [
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
],
pageLength: 10, // Default rows per page
lengthMenu: [
[10, 20, 30, 50, -1],
[10, 20, 30, 50, "All"]
], // Rows per page options
responsive: false, // Responsive table
order: [
// [0, 'desc']
], // Default ordering (column index 0, descending)
scrollX: true,
language: {
paginate: {
next: '<i class="fas fa-angle-right"></i>', // Next button icon
previous: '<i class="fas fa-angle-left"></i>' // Previous button icon
}
}
});
$('#create_po_from_requistion_wrapper .dataTables_scrollBody').on('mousewheel', function(e) {
if (e.originalEvent.deltaY !== 0) {
this.scrollLeft += e.originalEvent.deltaY; // Use the vertical scroll to scroll horizontally
e.preventDefault();
}
});
// Date range filter function
$.fn.dataTable.ext.search.push(
function(settings, data, dataIndex) {
var fromDate = $('#fromDate').val();
var toDate = $('#toDate').val();
if (!fromDate || !toDate) {
return true; // If no dates selected, don't filter
}
var dateStr = data[1]; // Assuming the date is in the first column
var dateParts = dateStr.split("-");
var date = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]); // Convert dd-mm-yyyy to Date object
var startDate = new Date(fromDate);
var endDate = new Date(toDate);
// Adjust startDate to include the day before the selected fromDate
startDate.setDate(startDate.getDate() - 1);
// Ensure endDate includes the entire end date by setting time to the end of the day
endDate.setHours(23, 59, 59, 999);
// Return true if the date is within the range
return date >= startDate && date <= endDate;
}
);
// Handle form submission for the date range filter
$("#DateRangeFilter").click(function(e) {
e.preventDefault();
table.draw(); // Redraw the table to apply the filter
});
// Reset button functionality
$("#resetButton").click(function() {
$("#fromDate").val('');
$("#toDate").val('');
table.draw(); // Redraw the table to clear the filter
});
// Automatically focus and open the To Date picker when From Date is selected
document.getElementById('fromDate').addEventListener('change', function() {
var fromDate = this.value;
var toDateInput = document.getElementById('toDate');
// Set the min attribute of the To Date input to the selected From Date
toDateInput.min = fromDate;
// Optionally reset the To Date input if the current value is before the new min date
if (toDateInput.value < fromDate) {
toDateInput.value = fromDate;
}
});
});
var POType = '';
function SetImportPO() {
POType = $("input:radio[name='optImport']:checked").val();
$('#ImportPOCheck').modal('hide');
$('#txtReqType').val(POType == 0 ? 'IMPORT' : '');
$('#CreatePO').submit();
}
$('#ReqDate').val('');
var Fromdt = '';
var Todt = '';
var baseurl = "<?php print base_url(); ?>";
//Date range picker
$('#ReqDate').daterangepicker({
locale: {
format: 'YYYY/MM/DD'
}
});
// $('#ReqDate').daterangepicker({
// locale: {
// format: 'YYYY/MM/DD'
// }
// });
var coll = [];
var RequistionList = {
@ -395,9 +541,6 @@ span.highlight {
function selectReqNo(rowId) {
console.log("entered");
ckb = $('#chk' + rowId).is(':checked');
var tr = document.getElementById(rowId);
var cellval = tr.cells;
@ -413,75 +556,38 @@ span.highlight {
} else {
var tr = document.getElementById(rowId);
var cellval = tr.cells;
//alert(RequistionList.Req.length);
if (RequistionList.Req.length > 0) {
console.log("111111111");
if (Type == cellval[3].innerText) {
//alert(RequistionList.Req.length);
console.log(RequistionList);
if (RequistionList.Req.length > 0) {
if (Type == cellval[3].innerText) {
RequistionList.Req.push({
"ReqNo": cellval[2].innerText,
"ReqType": cellval[3].innerText,
"ReqBy": cellval[4].innerText,
});
} else {
console.log("333333333");
alert('Same type of Requistion only can be together.')
$('#chk' + rowId).attr('checked', false);
alert('Same type of Requistion only can be together.');
$('#chk' + rowId).prop('checked', false); // Properly uncheck the checkbox
}
} else {
RequistionList.Req.push({
"ReqNo": cellval[2].innerText,
"ReqType": cellval[3].innerText,
"ReqBy": cellval[4].innerText,
});
Type = cellval[3].innerText;
}
i = i + 1;
}
console.log(JSON.stringify(RequistionList));
// console.log(JSON.stringify(RequistionList));
$('#txtReqNo').val(JSON.stringify(RequistionList));
}
$("#RequisitionDtlsModal").on("shown.bs.modal", function(e) {
var ReqId = $(e.relatedTarget).data('userid');
$('#SelReqNo').html(ReqId);
$('#content').loader('show');
$.ajax({
data: { id: ReqId },
type: "POST",
dataType: 'json',
url: "<?php echo base_url() ?>requisitionform/ViewRequest",
success: function(json) {
$('#content').loader('hide');
var getAvalAmt = json.AvilBudAmount;
getAvalAmt = getAvalAmt.replace(/\,/g, '');
$("#ReqType").val(json.Requist[0]['ReqType']);
$("#ReqBy").val(json.Requist[0]['FirstName']);
$("#RequistionDate").val(json.Requist[0]['ReqDate']);
$("#Desigination").val(json.Requist[0]['Designation']);
$("#CostCenter").val(json.Requist[0]['CostCenterCode']);
$("#AvlBudgetAmount").val(parseFloat(getAvalAmt).toFixed(2));
$("#tbleAppend").empty();
$("#tbleAppend").append(json.Items);
}
});
});
function Validate() {
var ReqNo = $('#txtReqNo').val();
console.log("--------------");
console.log(ReqNo);
// console.log(ReqNo);
if (ReqNo.length <= 0) {
alert('Please select the Requisition Number to Create Purchase Order');
return false;
@ -489,104 +595,4 @@ span.highlight {
$('#ImportPOCheck').modal('show');
}
}
$(function() {
$('#REQLIST').DataTable({
"paging": true,
"lengthChange": true,
"searching": true,
"columnDefs": [{
"targets": 1,
"type": "date-eu"
}],
"aaSorting": [
[2, "desc"]
],
"ordering": true,
"info": true,
"autoWidth": true,
"pageLength": 10,
"lengthMenu": [10, 25, 50, 100]
});
});
</script>
<script src="https://cdn.datatables.net/plug-ins/1.10.11/sorting/date-eu.js"></script>
<script>
$(document).ready(function() {
// Initialize the DataTable
var table = $('#create_po_from_requistion').DataTable({
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
buttons: [
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
],
pageLength: 10, // Default rows per page
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
responsive: true, // Responsive table
order: [[0, 'desc']], // Default ordering (column index 0, descending)
language: {
paginate: {
next: '<i class="fas fa-angle-right"></i>', // Next button icon
previous: '<i class="fas fa-angle-left"></i>' // Previous button icon
}
}
});
// Date range filter function
$.fn.dataTable.ext.search.push(
function(settings, data, dataIndex) {
var fromDate = $('#fromDate').val();
var toDate = $('#toDate').val();
if (!fromDate || !toDate) {
return true; // If no dates selected, don't filter
}
var dateStr = data[1]; // Assuming the date is in the first column
var dateParts = dateStr.split("-");
var date = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]); // Convert dd-mm-yyyy to Date object
var startDate = new Date(fromDate);
var endDate = new Date(toDate);
// Adjust startDate to include the day before the selected fromDate
startDate.setDate(startDate.getDate() - 1);
// Ensure endDate includes the entire end date by setting time to the end of the day
endDate.setHours(23, 59, 59, 999);
// Return true if the date is within the range
return date >= startDate && date <= endDate;
}
);
// Handle form submission for the date range filter
$("#DateRangeFilter").click(function(e) {
e.preventDefault();
table.draw(); // Redraw the table to apply the filter
});
// Reset button functionality
$("#resetButton").click(function() {
$("#fromDate").val('');
$("#toDate").val('');
table.draw(); // Redraw the table to clear the filter
});
// Automatically focus and open the To Date picker when From Date is selected
document.getElementById('fromDate').addEventListener('change', function() {
var fromDate = this.value;
var toDateInput = document.getElementById('toDate');
// Set the min attribute of the To Date input to the selected From Date
toDateInput.min = fromDate;
// Optionally reset the To Date input if the current value is before the new min date
if (toDateInput.value < fromDate) {
toDateInput.value = fromDate;
}
});
});
</script>

View File

@ -63,12 +63,18 @@
color: #0056b3;
}
</style>
<div class="content-wrapper">
<section class="content">
<div class="row">
<div class="col-md-12">
<?php
<div class="content-page">
<div class="content">
<!-- Start Content-->
<div class="container-fluid">
<!-- start page title -->
<div>
<?php
helper('form');
$error = session()->getFlashdata('error');
if ($error) {
@ -81,50 +87,39 @@
echo show_alert($type, $success);
}
?>
<div class="row">
<div class="col-md-12">
<?php // \Config\Services::validation()->listErrors('<div class="alert alert-danger alert-dismissable">', ' <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button></div>');
?> </div>
</div>
</div>
</div>
<div class="box">
<div class="box-header">
<CENTER>
<h3 class="box-title"> Employee Details</h3>
</CENTER>
</div>
<div class="container-fluid">
<div class="row">
<div class="col-xs-12 col-md-6">
<form class="Date-filter-form" id="DateRangeFilter">
<input type="hidden" name="table" value="requisition">
<label for="fromDate">From:</label>
<input type="text" id="fromDate" name="fromDate" placeholder="Select From Date" autocomplete="off" required>
<label for="toDate">To:</label>
<input type="text" id="toDate" name="toDate" placeholder="Select To Date" autocomplete="off" required>
<button type="submit">Search</button>
<i class="fa fa-repeat" aria-hidden="true" class="icon-button" id="resetButton" title="Reset"></i>
<div class="error" id="error"></div>
</form>
</div>
<div class="col-xs-12 col-md-6 text-right">
<div class="form-group">
<a class="btn btn-success" href="<?php echo base_url(); ?>addemployee">Add New Employee</a>
<a class="btn btn-success" href="<?php echo base_url(); ?>exportemployee">Export Employee Details <i class="fa fa-download" aira-hidden="true"></i></a>
<div class="col-6">
<div class="page-title-box page-title-box-alt">
<h4 class="page-title">Employee Details</h4>
</div>
</div>
</div>
<div class="col-6 text-right">
<a class="btn btn-success" href="<?php echo base_url(); ?>addemployee">Add New Employee</a>
<a class="btn btn-success" href="<?php echo base_url(); ?>exportemployee">Export Employee Details <i class="fa fa-download" aira-hidden="true"></i></a>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<table id="datatable" class="table table-hover table-bordered" style="background-color:#fff;font-size:12px;">
<div class="col-12">
<div class="card">
<form class="Date-filter-form" id="DateRangeFilter" style="margin-top: 14px;margin-bottom: -11px;margin-left: 33px;">
<input type="hidden" name="table" value="requisition">
<label for="fromDate">From:</label>
<input class="form-control date_range" type="date" id="fromDate" name="fromDate" placeholder="Select From Date" autocomplete="off" required>
<label for="toDate">To:</label>
<input class="form-control date_range" type="date" id="toDate" name="toDate" placeholder="Select To Date" autocomplete="off" required>
<button type="submit" class="range_search_button"><i class="fe-search" aria-hidden="true" class="icon-button" title="Search"></i></button>
<i class="fe-rotate-cw range_reset_button" aria-hidden="true" class="icon-button" id="resetButton" title="Reset"></i>
<div class="error" id="error"></div>
</form>
<div class="card-body">
<table id="datatable" class="table table-hover table-bordered" style="background-color:#fff;font-size:12px;">
<thead style="background-color: #ddd;">
<tr>
<th>Created Date</th>
<th>Emp ID</th>
<th >Emp ID</th>
<th>Employee Name</th>
<th>Contact Number</th>
<th>Designation</th>
@ -155,18 +150,18 @@
}
}
?>
</tbody>
</table>
</div>
</div> <!-- end card body-->
</div> <!-- end card -->
</div><!-- end col-->
</div>
</div>
</div>
</section>
</div> <!-- container -->
</div> <!-- content -->
</div>
<script type="text/javascript" src="<?php echo base_url(); ?>public/assets/js/common.js" charset="utf-8"></script>
<!-- <script type="text/javascript">
@ -193,23 +188,22 @@
return (dateSplit[2] + dateSplit[1] + dateSplit[0]) * 1;
};
// Initialize the DataTable
var table = $('#datatable').DataTable({
"paging": true,
"lengthChange": true,
"searching": true,
"ordering": true,
"columnDefs": [{
"targets": 0,
"type": "date-eu"
}],
"aaSorting": [
[0, "desc"]
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
buttons: [
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
],
"info": true,
"autoWidth": true,
"pageLength": 10,
"lengthMenu": [10, 25, 50, 100],
pageLength: 10, // Default rows per page
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
responsive: true, // Responsive table
order: [[0, 'desc']], // Default ordering (column index 0, descending)
language: {
paginate: {
next: '<i class="fas fa-angle-right"></i>', // Next button icon
previous: '<i class="fas fa-angle-left"></i>' // Previous button icon
}
}
});
// Initialize the datepickers

View File

@ -39,25 +39,29 @@
<link href="https://cdn.datatables.net/1.13.4/css/jquery.dataTables.min.css" rel="stylesheet">
<!-- DataTables Buttons CSS -->
<link href="https://cdn.datatables.net/buttons/2.3.6/css/buttons.dataTables.min.css" rel="stylesheet">
<!-- DataTables Buttons CSS -->
<link href="https://cdn.datatables.net/buttons/2.3.6/css/buttons.dataTables.min.css" rel="stylesheet">
<!-- jQuery -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<!-- DataTables JS -->
<script src="https://cdn.datatables.net/1.13.4/js/jquery.dataTables.min.js"></script>
<!-- DataTables Buttons JS -->
<script src="https://cdn.datatables.net/buttons/2.3.6/js/dataTables.buttons.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.3.6/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.3.6/js/buttons.print.min.js"></script>
<!-- jQuery -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<!-- DataTables JS -->
<script src="https://cdn.datatables.net/1.13.4/js/jquery.dataTables.min.js"></script>
<!-- DataTables Buttons JS -->
<script src="https://cdn.datatables.net/buttons/2.3.6/js/dataTables.buttons.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.3.6/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.3.6/js/buttons.print.min.js"></script>
<!-- JSZip for Excel export -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
<!-- pdfmake for PDF export -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
<link href="https://cdn.jsdelivr.net/npm/remixicon@2.5.0/fonts/remixicon.css" rel="stylesheet">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" rel="stylesheet">
<!-- Scroll the table left to right -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.13/jquery.mousewheel.min.js"></script>
<!-- JSZip for Excel export -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
<!-- pdfmake for PDF export -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
<link href="https://cdn.jsdelivr.net/npm/remixicon@2.5.0/fonts/remixicon.css" rel="stylesheet">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" rel="stylesheet">
<style>
/* Select2 Input Hight Set */

File diff suppressed because it is too large Load Diff