Merged
This commit is contained in:
commit
5126e8b3b7
@ -60,11 +60,11 @@
|
|||||||
<form class="Date-filter-form" id="DateRangeFilter" style="margin-top: 14px;margin-bottom: -11px;margin-left: 33px;">
|
<form class="Date-filter-form" id="DateRangeFilter" style="margin-top: 14px;margin-bottom: -11px;margin-left: 33px;">
|
||||||
<input type="hidden" name="table" value="requisition">
|
<input type="hidden" name="table" value="requisition">
|
||||||
<label for="fromDate">From:</label>
|
<label for="fromDate">From:</label>
|
||||||
<input type="text" id="fromDate" name="fromDate" placeholder="Select From Date" autocomplete="off" required>
|
<input class="form-control date_range" type="date" id="fromDate" name="fromDate" placeholder="Select From Date" autocomplete="off" required>
|
||||||
<label for="toDate">To:</label>
|
<label for="toDate">To:</label>
|
||||||
<input type="text" id="toDate" name="toDate" placeholder="Select To Date" autocomplete="off" required>
|
<input class="form-control date_range" type="date" id="toDate" name="toDate" placeholder="Select To Date" autocomplete="off" required>
|
||||||
<button type="submit">Search</button>
|
<button type="submit" class="range_search_button"><i class="fe-search" aria-hidden="true" class="icon-button" title="Search"></i></button>
|
||||||
<i class="fa fa-repeat" aria-hidden="true" class="icon-button" id="resetButton" title="Reset"></i>
|
<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>
|
<div class="error" id="error"></div>
|
||||||
</form>
|
</form>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
@ -192,83 +192,11 @@ $(document).ready(function() {
|
|||||||
var dateSplit = date.split('-');
|
var dateSplit = date.split('-');
|
||||||
return (dateSplit[2] + dateSplit[1] + dateSplit[0]) * 1;
|
return (dateSplit[2] + dateSplit[1] + dateSplit[0]) * 1;
|
||||||
};
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).ready(function() {
|
||||||
// Initialize the DataTable
|
// Initialize the DataTable
|
||||||
var table = $('#example1').DataTable({
|
var table = $('#amend_po_list').DataTable({
|
||||||
"paging": true,
|
|
||||||
"lengthChange": true,
|
|
||||||
"searching": true,
|
|
||||||
"ordering": true,
|
|
||||||
"columnDefs": [{
|
|
||||||
"targets": 0,
|
|
||||||
"type": "date-eu"
|
|
||||||
}],
|
|
||||||
"aaSorting": [
|
|
||||||
[0, "desc"]
|
|
||||||
],
|
|
||||||
"info": true,
|
|
||||||
"autoWidth": true,
|
|
||||||
"pageLength": 10,
|
|
||||||
"lengthMenu": [10, 25, 50, 100],
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
// Initialize the datepickers
|
|
||||||
$("#fromDate").datepicker({
|
|
||||||
dateFormat: 'dd-mm-yy',
|
|
||||||
onSelect: function(selectedDate) {
|
|
||||||
var minDate = $(this).datepicker("getDate");
|
|
||||||
$("#toDate").datepicker("option", "minDate", minDate);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#toDate").datepicker({
|
|
||||||
dateFormat: 'dd-mm-yy',
|
|
||||||
onSelect: function(selectedDate) {
|
|
||||||
var maxDate = $(this).datepicker("getDate");
|
|
||||||
$("#fromDate").datepicker("option", "maxDate", maxDate);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Reset button functionality
|
|
||||||
$("#resetButton").click(function() {
|
|
||||||
$("#fromDate").datepicker("setDate", null);
|
|
||||||
$("#toDate").datepicker("setDate", null);
|
|
||||||
$("#toDate").datepicker("option", "minDate", null);
|
|
||||||
$("#fromDate").datepicker("option", "maxDate", null);
|
|
||||||
table.draw();
|
|
||||||
});
|
|
||||||
|
|
||||||
// Date range filter
|
|
||||||
$.fn.dataTable.ext.search.push(
|
|
||||||
|
|
||||||
function(settings, data, dataIndex) {
|
|
||||||
var fromDate = $("#fromDate").datepicker("getDate");
|
|
||||||
var toDate = $("#toDate").datepicker("getDate");
|
|
||||||
|
|
||||||
var dateStr = data[0]; // Assuming the date is in the first column
|
|
||||||
|
|
||||||
// Convert dateStr to Date object
|
|
||||||
var dateParts = dateStr.split("-");
|
|
||||||
var date = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]); // Convert dd-mm-yyyy to Date object
|
|
||||||
|
|
||||||
if (!fromDate || !toDate) {
|
|
||||||
return true; // No filter if dates are not selected
|
|
||||||
}
|
|
||||||
|
|
||||||
return date >= fromDate && date <= toDate;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
// Handle form submission
|
|
||||||
$("#DateRangeFilter").submit(function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
table.draw();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<script>$(document).ready(function() {
|
|
||||||
$('#amend_po_list').DataTable({
|
|
||||||
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
|
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
|
||||||
buttons: [
|
buttons: [
|
||||||
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
|
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
|
||||||
@ -276,7 +204,7 @@ $(document).ready(function() {
|
|||||||
pageLength: 10, // Default rows per page
|
pageLength: 10, // Default rows per page
|
||||||
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
|
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
|
||||||
responsive: true, // Responsive table
|
responsive: true, // Responsive table
|
||||||
order: [[0, 'desc']], // Default ordering (column index 0, ascending)
|
order: [[0, 'desc']], // Default ordering (column index 0, descending)
|
||||||
language: {
|
language: {
|
||||||
paginate: {
|
paginate: {
|
||||||
next: '<i class="fas fa-angle-right"></i>', // Next button icon
|
next: '<i class="fas fa-angle-right"></i>', // Next button icon
|
||||||
@ -284,6 +212,60 @@ $(document).ready(function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 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[0]; // 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").submit(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>
|
</script>
|
||||||
@ -39,20 +39,20 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
.dataTables_wrapper .dataTables_length {
|
.dataTables_wrapper .dataTables_length {
|
||||||
float: left;
|
/* float: left; */
|
||||||
}
|
}
|
||||||
.dataTables_wrapper .dt-buttons,
|
.dataTables_wrapper .dt-buttons,
|
||||||
.dataTables_wrapper .dataTables_filter {
|
.dataTables_wrapper .dataTables_filter {
|
||||||
float: right;
|
/* float: right; */
|
||||||
margin-left: 10px;
|
/* margin-left: 10px; */
|
||||||
}
|
}
|
||||||
.dataTables_wrapper .dt-buttons {
|
.dataTables_wrapper .dt-buttons {
|
||||||
margin-top: 10px;
|
/* margin-top: 10px; */
|
||||||
margin-bottom: 10px;
|
/* margin-bottom: 10px; */
|
||||||
}
|
}
|
||||||
.dataTables_wrapper .dataTables_filter {
|
.dataTables_wrapper .dataTables_filter {
|
||||||
margin-top: 10px;
|
/* margin-top: 10px; */
|
||||||
margin-bottom: 10px;
|
/* margin-bottom: 10px; */
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
@ -88,14 +88,13 @@
|
|||||||
<form class="Date-filter-form" id="DateRangeFilter" style="margin-top: 14px;margin-bottom: -11px;margin-left: 33px;">
|
<form class="Date-filter-form" id="DateRangeFilter" style="margin-top: 14px;margin-bottom: -11px;margin-left: 33px;">
|
||||||
<input type="hidden" name="table" value="requisition">
|
<input type="hidden" name="table" value="requisition">
|
||||||
<label for="fromDate">From:</label>
|
<label for="fromDate">From:</label>
|
||||||
<input type="text" id="fromDate" name="fromDate" placeholder="Select From Date" autocomplete="off" required>
|
<input class="form-control date_range" type="date" id="fromDate" name="fromDate" placeholder="Select From Date" autocomplete="off" required>
|
||||||
|
|
||||||
<label for="toDate">To:</label>
|
<label for="toDate">To:</label>
|
||||||
<input type="text" id="toDate" name="toDate" placeholder="Select To Date" autocomplete="off" required>
|
<input class="form-control date_range" type="date" id="toDate" name="toDate" placeholder="Select To Date" autocomplete="off" required>
|
||||||
|
|
||||||
<button type="submit">Search</button>
|
<button type="submit" class="range_search_button"><i class="fe-search" aria-hidden="true" class="icon-button" title="Search"></i></button>
|
||||||
<i class="fa fa-repeat" aria-hidden="true" class="icon-button" id="resetButton" title="Reset"></i>
|
<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>
|
||||||
<div class="error" id="error"></div>
|
|
||||||
</form>
|
</form>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<table id="po_list" class="table dt-responsive nowrap w-100">
|
<table id="po_list" class="table dt-responsive nowrap w-100">
|
||||||
@ -202,146 +201,12 @@
|
|||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.2.7/vfs_fonts.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.2.7/vfs_fonts.js"></script>
|
||||||
<script src="https://cdn.datatables.net/plug-ins/1.13.6/sorting/datetime-moment.js"></script>
|
<script src="https://cdn.datatables.net/plug-ins/1.13.6/sorting/datetime-moment.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$.fn.dataTable.ext.type.order['date-eu-pre'] = function (date) {
|
|
||||||
var dateSplit = date.split('-');
|
|
||||||
return (dateSplit[2] + dateSplit[1] + dateSplit[0]) * 1;
|
|
||||||
};
|
|
||||||
// Initialize the DataTable
|
// Initialize the DataTable
|
||||||
var table = $('#dataTableHistoriek').DataTable({
|
var table = $('#po_list').DataTable({
|
||||||
"paging": true,
|
|
||||||
"lengthChange": true,
|
|
||||||
"scrollCollapse": true,
|
|
||||||
"searching": true,
|
|
||||||
"ordering": true,
|
|
||||||
"columnDefs": [{
|
|
||||||
"targets": 0,
|
|
||||||
"type": "date-eu"
|
|
||||||
}],
|
|
||||||
"aaSorting": [
|
|
||||||
[0, "desc"]
|
|
||||||
],
|
|
||||||
"info": true,
|
|
||||||
"autoWidth": true,
|
|
||||||
"pageLength": 10,
|
|
||||||
"lengthMenu": [10, 25, 50, 100],
|
|
||||||
"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',
|
|
||||||
text: 'Export to Excel',
|
|
||||||
title: 'Purchase Order',
|
|
||||||
exportOptions: {
|
|
||||||
columns: ':visible:not(:last-child)' // Exclude first and last columns
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
extend: 'pdfHtml5',
|
|
||||||
text: 'Export to PDF',
|
|
||||||
title: 'Purchase Order',
|
|
||||||
exportOptions: {
|
|
||||||
columns: ':visible:not(:last-child)' // Exclude first and last columns
|
|
||||||
}
|
|
||||||
}]
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
// Initialize the datepickers
|
|
||||||
$("#fromDate").datepicker({
|
|
||||||
dateFormat: 'dd-mm-yy',
|
|
||||||
onSelect: function(selectedDate) {
|
|
||||||
var minDate = $(this).datepicker("getDate");
|
|
||||||
$("#toDate").datepicker("option", "minDate", minDate);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#toDate").datepicker({
|
|
||||||
dateFormat: 'dd-mm-yy',
|
|
||||||
onSelect: function(selectedDate) {
|
|
||||||
var maxDate = $(this).datepicker("getDate");
|
|
||||||
$("#fromDate").datepicker("option", "maxDate", maxDate);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Reset button functionality
|
|
||||||
$("#resetButton").click(function() {
|
|
||||||
$("#fromDate").datepicker("setDate", null);
|
|
||||||
$("#toDate").datepicker("setDate", null);
|
|
||||||
$("#toDate").datepicker("option", "minDate", null);
|
|
||||||
$("#fromDate").datepicker("option", "maxDate", null);
|
|
||||||
table.draw();
|
|
||||||
});
|
|
||||||
|
|
||||||
// Date range filter
|
|
||||||
$.fn.dataTable.ext.search.push(
|
|
||||||
|
|
||||||
function(settings, data, dataIndex) {
|
|
||||||
var fromDate = $("#fromDate").datepicker("getDate");
|
|
||||||
var toDate = $("#toDate").datepicker("getDate");
|
|
||||||
|
|
||||||
var dateStr = data[0]; // Assuming the date is in the first column
|
|
||||||
|
|
||||||
// Convert dateStr to Date object
|
|
||||||
var dateParts = dateStr.split("-");
|
|
||||||
var date = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]); // Convert dd-mm-yyyy to Date object
|
|
||||||
|
|
||||||
if (!fromDate || !toDate) {
|
|
||||||
return true; // No filter if dates are not selected
|
|
||||||
}
|
|
||||||
|
|
||||||
return date >= fromDate && date <= toDate;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
// Handle form submission
|
|
||||||
$("#DateRangeFilter").submit(function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
table.draw();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<!-- <script>
|
|
||||||
$(function () {
|
|
||||||
$.fn.dataTable.moment('DD-MM-YYYY');
|
|
||||||
$('#dataTableHistoriek').DataTable({
|
|
||||||
"paging": true,
|
|
||||||
"lengthChange": true,
|
|
||||||
"scrollCollapse": true,
|
|
||||||
"searching": true,
|
|
||||||
"ordering": true,
|
|
||||||
"info": true,
|
|
||||||
"scrollX": true,
|
|
||||||
"autoWidth": true,
|
|
||||||
"pageLength": 10,
|
|
||||||
"order": [[0, "desc"]], // Assuming the "Created Date" is the first column and you want to order by it in descending order
|
|
||||||
"dom": '<"top"lBf>rt<"bottom"ip><"clear">', // Custom layout
|
|
||||||
"buttons": [
|
|
||||||
{
|
|
||||||
extend: 'excelHtml5',
|
|
||||||
text: 'Export to Excel',
|
|
||||||
title: 'Purchase Order',
|
|
||||||
exportOptions: {
|
|
||||||
columns: ':visible:not(:first-child):not(:last-child)' // Exclude first and last columns
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
extend: 'pdfHtml5',
|
|
||||||
text: 'Export to PDF',
|
|
||||||
title: 'Purchase Order',
|
|
||||||
exportOptions: {
|
|
||||||
columns: ':visible:not(:first-child):not(:last-child)' // Exclude first and last columns
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script> -->
|
|
||||||
|
|
||||||
<script>$(document).ready(function() {
|
|
||||||
$('#po_list').DataTable({
|
|
||||||
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
|
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
|
||||||
buttons: [
|
buttons: [
|
||||||
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
|
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
|
||||||
@ -349,7 +214,7 @@ $(document).ready(function() {
|
|||||||
pageLength: 10, // Default rows per page
|
pageLength: 10, // Default rows per page
|
||||||
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
|
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
|
||||||
responsive: true, // Responsive table
|
responsive: true, // Responsive table
|
||||||
order: [[0, 'desc']], // Default ordering (column index 0, ascending)
|
order: [[0, 'desc']], // Default ordering (column index 0, descending)
|
||||||
language: {
|
language: {
|
||||||
paginate: {
|
paginate: {
|
||||||
next: '<i class="fas fa-angle-right"></i>', // Next button icon
|
next: '<i class="fas fa-angle-right"></i>', // Next button icon
|
||||||
@ -357,6 +222,60 @@ $(document).ready(function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 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[0]; // 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").submit(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>
|
</script>
|
||||||
@ -35,43 +35,49 @@
|
|||||||
color: #0056b3;
|
color: #0056b3;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<div class="content-wrapper">
|
|
||||||
|
|
||||||
<section class="content">
|
<div class="content-page">
|
||||||
<div class="box">
|
<div class="content">
|
||||||
<div class="box-header">
|
<!-- Start Content-->
|
||||||
<CENTER>
|
|
||||||
<h3 class="box-title"> Asset Details</h3>
|
|
||||||
</CENTER>
|
|
||||||
</div>
|
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
|
<!-- start page title -->
|
||||||
|
<div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-12 col-md-6">
|
<div class="col-6">
|
||||||
<form class="Date-filter-form" id="DateRangeFilter">
|
<div class="page-title-box page-title-box-alt">
|
||||||
<input type="hidden" name="table" value="requisition">
|
<h4 class="page-title">Asset Details</h4>
|
||||||
<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>
|
||||||
<div class="col-xs-12 col-md-6 text-right">
|
</div>
|
||||||
<div class="form-group">
|
<div class="col-6 text-right">
|
||||||
<a class="btn btn-success" href="<?php echo base_url(); ?>addasset">Add New Asset</a>
|
<a class="btn btn-success" href="<?php echo base_url(); ?>addasset">Add New Asset</a>
|
||||||
<a class="btn btn-success" href="<?php echo base_url(); ?>exportasset">Export Asset Details <i class="fa fa-download" aira-hidden="true"></i></a>
|
<a class="btn btn-success" href="<?php echo base_url(); ?>exportasset">Export Asset Details <i class="fa fa-download" aira-hidden="true"></i></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-12">
|
<div class="col-12">
|
||||||
<table class="table table-bordered table-hover" id="datatable" style="background-color:#fff;font-size:12px;">
|
<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="view_inward_gate_register" class="table dt-responsive nowrap w-100">
|
||||||
|
<thead>
|
||||||
|
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<table class="table table-bordered table-hover" id="asset_list_table" style="background-color:#fff;font-size:12px;">
|
||||||
<thead style="background-color: #ddd;">
|
<thead style="background-color: #ddd;">
|
||||||
<tr>
|
<tr>
|
||||||
<th>Created Date</th>
|
<th>Created Date</th>
|
||||||
@ -122,13 +128,15 @@
|
|||||||
?>
|
?>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
</div> <!-- end card body-->
|
||||||
|
</div> <!-- end card -->
|
||||||
|
</div><!-- end col-->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div> <!-- container -->
|
||||||
|
</div> <!-- content -->
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript" src="<?php echo base_url(); ?>public/assets/js/common.js" charset="utf-8"></script>
|
<script type="text/javascript" src="<?php echo base_url(); ?>public/assets/js/common.js" charset="utf-8"></script>
|
||||||
<script src="https://cdn.datatables.net/plug-ins/1.10.16/sorting/datetime-moment.js"></script>
|
<script src="https://cdn.datatables.net/plug-ins/1.10.16/sorting/datetime-moment.js"></script>
|
||||||
<!-- <script type="text/javascript">
|
<!-- <script type="text/javascript">
|
||||||
@ -150,83 +158,81 @@
|
|||||||
|
|
||||||
</script> -->
|
</script> -->
|
||||||
<!-- <script src="https://cdn.datatables.net/plug-ins/1.10.11/sorting/date-eu.js"></script> -->
|
<!-- <script src="https://cdn.datatables.net/plug-ins/1.10.11/sorting/date-eu.js"></script> -->
|
||||||
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$.fn.dataTable.ext.type.order['date-eu-pre'] = function(date) {
|
|
||||||
var dateSplit = date.split('-');
|
|
||||||
return (dateSplit[2] + dateSplit[1] + dateSplit[0]) * 1;
|
|
||||||
};
|
|
||||||
// Initialize the DataTable
|
// Initialize the DataTable
|
||||||
var table = $('#datatable').DataTable({
|
var table = $('#asset_list_table').DataTable({
|
||||||
"paging": true,
|
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
|
||||||
"lengthChange": true,
|
buttons: [
|
||||||
"searching": true,
|
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
|
||||||
"ordering": true,
|
|
||||||
"columnDefs": [{
|
|
||||||
"targets": 0,
|
|
||||||
"type": "date-eu"
|
|
||||||
}],
|
|
||||||
"aaSorting": [
|
|
||||||
[0, "desc"]
|
|
||||||
],
|
],
|
||||||
"info": true,
|
pageLength: 10, // Default rows per page
|
||||||
"autoWidth": true,
|
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
|
||||||
"pageLength": 10,
|
responsive: true, // Responsive table
|
||||||
"lengthMenu": [10, 25, 50, 100],
|
order: [[0, 'desc']], // Default ordering (column index 0, descending)
|
||||||
|
language: {
|
||||||
});
|
paginate: {
|
||||||
|
next: '<i class="fas fa-angle-right"></i>', // Next button icon
|
||||||
// Initialize the datepickers
|
previous: '<i class="fas fa-angle-left"></i>' // Previous button icon
|
||||||
$("#fromDate").datepicker({
|
}
|
||||||
dateFormat: 'dd-mm-yy',
|
|
||||||
onSelect: function(selectedDate) {
|
|
||||||
var minDate = $(this).datepicker("getDate");
|
|
||||||
$("#toDate").datepicker("option", "minDate", minDate);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#toDate").datepicker({
|
// Date range filter function
|
||||||
dateFormat: 'dd-mm-yy',
|
$.fn.dataTable.ext.search.push(
|
||||||
onSelect: function(selectedDate) {
|
function(settings, data, dataIndex) {
|
||||||
var maxDate = $(this).datepicker("getDate");
|
var fromDate = $('#fromDate').val();
|
||||||
$("#fromDate").datepicker("option", "maxDate", maxDate);
|
var toDate = $('#toDate').val();
|
||||||
|
|
||||||
|
if (!fromDate || !toDate) {
|
||||||
|
return true; // If no dates selected, don't filter
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var dateStr = data[0]; // 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").submit(function(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
table.draw(); // Redraw the table to apply the filter
|
||||||
});
|
});
|
||||||
|
|
||||||
// Reset button functionality
|
// Reset button functionality
|
||||||
$("#resetButton").click(function() {
|
$("#resetButton").click(function() {
|
||||||
$("#fromDate").datepicker("setDate", null);
|
$("#fromDate").val('');
|
||||||
$("#toDate").datepicker("setDate", null);
|
$("#toDate").val('');
|
||||||
$("#toDate").datepicker("option", "minDate", null);
|
table.draw(); // Redraw the table to clear the filter
|
||||||
$("#fromDate").datepicker("option", "maxDate", null);
|
|
||||||
table.draw();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Date range filter
|
// Automatically focus and open the To Date picker when From Date is selected
|
||||||
$.fn.dataTable.ext.search.push(
|
document.getElementById('fromDate').addEventListener('change', function() {
|
||||||
|
var fromDate = this.value;
|
||||||
|
var toDateInput = document.getElementById('toDate');
|
||||||
|
|
||||||
function(settings, data, dataIndex) {
|
// Set the min attribute of the To Date input to the selected From Date
|
||||||
var fromDate = $("#fromDate").datepicker("getDate");
|
toDateInput.min = fromDate;
|
||||||
var toDate = $("#toDate").datepicker("getDate");
|
|
||||||
|
|
||||||
var dateStr = data[0]; // Assuming the date is in the first column
|
// Optionally reset the To Date input if the current value is before the new min date
|
||||||
|
if (toDateInput.value < fromDate) {
|
||||||
// Convert dateStr to Date object
|
toDateInput.value = fromDate;
|
||||||
var dateParts = dateStr.split("-");
|
|
||||||
var date = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]); // Convert dd-mm-yyyy to Date object
|
|
||||||
|
|
||||||
if (!fromDate || !toDate) {
|
|
||||||
return true; // No filter if dates are not selected
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return date >= fromDate && date <= toDate;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
// Handle form submission
|
|
||||||
$("#DateRangeFilter").submit(function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
table.draw();
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
@ -35,38 +35,25 @@
|
|||||||
color: #0056b3;
|
color: #0056b3;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<div class="content-wrapper">
|
|
||||||
<section class="content">
|
|
||||||
<div class="box">
|
|
||||||
<div class="box-header">
|
<div class="content-page">
|
||||||
<CENTER>
|
<div class="content">
|
||||||
<h3 class="box-title"> Configuration Details</h3>
|
<!-- Start Content-->
|
||||||
</CENTER>
|
|
||||||
</div>
|
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
|
<!-- start page title -->
|
||||||
|
<div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-12 col-md-6">
|
<div class="col-6">
|
||||||
<form class="Date-filter-form" id="DateRangeFilter">
|
<div class="page-title-box page-title-box-alt">
|
||||||
<input type="hidden" name="table" value="requisition">
|
<h4 class="page-title">Configuration Details</h4>
|
||||||
<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>
|
||||||
<div class="col-xs-12 col-md-6 text-right">
|
</div>
|
||||||
<div class="form-group">
|
<div class="col-6 text-right">
|
||||||
<a class="btn btn-success" href="<?php echo base_url(); ?>addconfig">Add New Configuration</a>
|
<a class="btn btn-success" href="<?php echo base_url(); ?>addconfig">Add New Configuration</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-12">
|
|
||||||
<?php
|
<?php
|
||||||
helper('form');
|
helper('form');
|
||||||
$error = session()->getFlashdata('error');
|
$error = session()->getFlashdata('error');
|
||||||
@ -88,15 +75,23 @@
|
|||||||
<?php } ?>
|
<?php } ?>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-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 class="card">
|
||||||
?> </div>
|
<form class="Date-filter-form" id="DateRangeFilter" style="margin-top: 14px;margin-bottom: -11px;margin-left: 33px;">
|
||||||
</div>
|
<input type="hidden" name="table" value="requisition">
|
||||||
</div>
|
<label for="fromDate">From:</label>
|
||||||
<div class="row">
|
<input class="form-control date_range" type="date" id="fromDate" name="fromDate" placeholder="Select From Date" autocomplete="off" required>
|
||||||
<div class="col-xs-12">
|
|
||||||
<table id="configtable" class="table table-bordered table-hover" style="background-color:#fff;font-size:12px;">
|
<label for="toDate">To:</label>
|
||||||
<thead style="background-color: #ddd;">
|
<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="config_list_table" class="table dt-responsive nowrap w-100">
|
||||||
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Create Date</th>
|
<th>Create Date</th>
|
||||||
<th>Configuration ID</th>
|
<th>Configuration ID</th>
|
||||||
@ -139,10 +134,15 @@
|
|||||||
?>
|
?>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
</div> <!-- end card body-->
|
||||||
|
</div> <!-- end card -->
|
||||||
|
</div><!-- end col-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div> <!-- container -->
|
||||||
|
</div> <!-- content -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript" src="<?php echo base_url(); ?>public/assets/js/common.js" charset="utf-8"></script>
|
<script type="text/javascript" src="<?php echo base_url(); ?>public/assets/js/common.js" charset="utf-8"></script>
|
||||||
@ -171,77 +171,78 @@
|
|||||||
var dateSplit = date.split('-');
|
var dateSplit = date.split('-');
|
||||||
return (dateSplit[2] + dateSplit[1] + dateSplit[0]) * 1;
|
return (dateSplit[2] + dateSplit[1] + dateSplit[0]) * 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Initialize the DataTable
|
// Initialize the DataTable
|
||||||
var table = $('#configtable').DataTable({
|
var table = $('#config_list_table').DataTable({
|
||||||
"paging": true,
|
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
|
||||||
"lengthChange": true,
|
buttons: [
|
||||||
"searching": true,
|
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
|
||||||
"ordering": true,
|
|
||||||
"columnDefs": [{
|
|
||||||
"targets": 0,
|
|
||||||
"type": "date-eu"
|
|
||||||
}],
|
|
||||||
"aaSorting": [
|
|
||||||
[0, "desc"]
|
|
||||||
],
|
],
|
||||||
"info": true,
|
pageLength: 10, // Default rows per page
|
||||||
"autoWidth": true,
|
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
|
||||||
"pageLength": 10,
|
responsive: true, // Responsive table
|
||||||
"lengthMenu": [10, 25, 50, 100],
|
order: [[0, 'desc']], // Default ordering (column index 0, descending)
|
||||||
|
language: {
|
||||||
});
|
paginate: {
|
||||||
|
next: '<i class="fas fa-angle-right"></i>', // Next button icon
|
||||||
// Initialize the datepickers
|
previous: '<i class="fas fa-angle-left"></i>' // Previous button icon
|
||||||
$("#fromDate").datepicker({
|
}
|
||||||
dateFormat: 'dd-mm-yy',
|
|
||||||
onSelect: function(selectedDate) {
|
|
||||||
var minDate = $(this).datepicker("getDate");
|
|
||||||
$("#toDate").datepicker("option", "minDate", minDate);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#toDate").datepicker({
|
// Date range filter function
|
||||||
dateFormat: 'dd-mm-yy',
|
$.fn.dataTable.ext.search.push(
|
||||||
onSelect: function(selectedDate) {
|
function(settings, data, dataIndex) {
|
||||||
var maxDate = $(this).datepicker("getDate");
|
var fromDate = $('#fromDate').val();
|
||||||
$("#fromDate").datepicker("option", "maxDate", maxDate);
|
var toDate = $('#toDate').val();
|
||||||
|
|
||||||
|
if (!fromDate || !toDate) {
|
||||||
|
return true; // If no dates selected, don't filter
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var dateStr = data[0]; // 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").submit(function(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
table.draw(); // Redraw the table to apply the filter
|
||||||
});
|
});
|
||||||
|
|
||||||
// Reset button functionality
|
// Reset button functionality
|
||||||
$("#resetButton").click(function() {
|
$("#resetButton").click(function() {
|
||||||
$("#fromDate").datepicker("setDate", null);
|
$("#fromDate").val('');
|
||||||
$("#toDate").datepicker("setDate", null);
|
$("#toDate").val('');
|
||||||
$("#toDate").datepicker("option", "minDate", null);
|
table.draw(); // Redraw the table to clear the filter
|
||||||
$("#fromDate").datepicker("option", "maxDate", null);
|
|
||||||
table.draw();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Date range filter
|
// Automatically focus and open the To Date picker when From Date is selected
|
||||||
$.fn.dataTable.ext.search.push(
|
document.getElementById('fromDate').addEventListener('change', function() {
|
||||||
|
var fromDate = this.value;
|
||||||
|
var toDateInput = document.getElementById('toDate');
|
||||||
|
|
||||||
function(settings, data, dataIndex) {
|
// Set the min attribute of the To Date input to the selected From Date
|
||||||
var fromDate = $("#fromDate").datepicker("getDate");
|
toDateInput.min = fromDate;
|
||||||
var toDate = $("#toDate").datepicker("getDate");
|
|
||||||
|
|
||||||
var dateStr = data[0]; // Assuming the date is in the first column
|
// Optionally reset the To Date input if the current value is before the new min date
|
||||||
|
if (toDateInput.value < fromDate) {
|
||||||
// Convert dateStr to Date object
|
toDateInput.value = fromDate;
|
||||||
var dateParts = dateStr.split("-");
|
|
||||||
var date = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]); // Convert dd-mm-yyyy to Date object
|
|
||||||
|
|
||||||
if (!fromDate || !toDate) {
|
|
||||||
return true; // No filter if dates are not selected
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return date >= fromDate && date <= toDate;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
// Handle form submission
|
|
||||||
$("#DateRangeFilter").submit(function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
table.draw();
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
@ -29,91 +29,8 @@
|
|||||||
color: #0056b3;
|
color: #0056b3;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<div class="content-wrapper">
|
|
||||||
<section class="content">
|
|
||||||
<div class="box">
|
|
||||||
<div class="box-header">
|
|
||||||
<CENTER>
|
|
||||||
<h3 class="box-title"> Cost 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 data-toggle="modal" href="#ccwizard" data-id="0" data-name="" class="btn btn-success">Add New Cost List</a>
|
|
||||||
<a class="btn btn-success" href="<?php echo base_url(); ?>exportcost">Export Cost 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-bordered table-hover" style="background-color:#fff;font-size:12px;">
|
|
||||||
<thead style="background-color: #ddd;">
|
|
||||||
<tr>
|
|
||||||
<th>Create Date</th>
|
|
||||||
<th>Create Time</th>
|
|
||||||
<th>Cost Center Code</th>
|
|
||||||
<th>Cost Center Name</th>
|
|
||||||
<th>Created By</th>
|
|
||||||
<th>Active</th>
|
|
||||||
<th>Action</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<?php
|
|
||||||
if (!empty($userRecords)) {
|
|
||||||
foreach ($userRecords as $record) {
|
|
||||||
$createdat = new DateTime($record->CreatedDate);
|
|
||||||
$date = $createdat->format('d-m-Y');
|
|
||||||
$time = $createdat->format('h:i A');
|
|
||||||
?>
|
|
||||||
<tr>
|
|
||||||
<td align="right"><?php echo $date; ?></td>
|
|
||||||
<td align="right"><?php echo $time; ?></td>
|
|
||||||
<td><?php echo $record->code ?></td>
|
|
||||||
<td><?php echo $record->CostCenterName ?></td>
|
|
||||||
<!-- <td><?php echo $record->ApprovedBy ?></td> -->
|
|
||||||
<td><?php echo $record->FirstName ?></td>
|
|
||||||
<td><?php
|
|
||||||
$R = '';
|
|
||||||
$record->IsActive == 1 ? $R = 'ACTIVE' : $R = 'INACTIVE';
|
|
||||||
echo $R;
|
|
||||||
?></td>
|
|
||||||
<td>
|
|
||||||
<?php
|
|
||||||
if ($record->DeletedBy == '') {
|
|
||||||
?>
|
|
||||||
<a data-toggle="modal" href="#ccwizard" data-id="<?php echo $record->id; ?>" data-name="<?php echo $record->CostCenterName; ?>" ><i class="fa fa-pencil"></i></a>
|
|
||||||
<a href="<?php echo base_url() . 'deleteCostCenter?CostCode=' . $record->code; ?>"><i class="fa fa-trash"></i> </a>
|
|
||||||
<?php } ?>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- for Add and edit Modal -->
|
|
||||||
<div class="modal fade" id="ccwizard" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
<div class="modal fade" id="ccwizard" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
@ -153,13 +70,96 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="content-page">
|
||||||
|
<div class="content">
|
||||||
|
<!-- Start Content-->
|
||||||
|
<div class="container-fluid">
|
||||||
|
<!-- start page title -->
|
||||||
</section>
|
<div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-6">
|
||||||
|
<div class="page-title-box page-title-box-alt">
|
||||||
|
<h4 class="page-title">Cost Details</h4>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-6 text-right">
|
||||||
|
<a data-toggle="modal" href="#ccwizard" data-id="0" data-name="" class="btn btn-success">Add New Cost List</a>
|
||||||
|
<a class="btn btn-success" href="<?php echo base_url(); ?>exportcost">Export Cost Details <i class="fa fa-download" aira-hidden="true"></i></a>
|
||||||
|
</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;">
|
||||||
|
<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="cost_listing" class="table dt-responsive nowrap w-100">
|
||||||
|
<thead style="background-color: #ddd;">
|
||||||
|
<tr>
|
||||||
|
<th>Create Date</th>
|
||||||
|
<th>Create Time</th>
|
||||||
|
<th>Cost Center Code</th>
|
||||||
|
<th>Cost Center Name</th>
|
||||||
|
<th>Created By</th>
|
||||||
|
<th>Active</th>
|
||||||
|
<th>Action</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<?php
|
||||||
|
if (!empty($userRecords)) {
|
||||||
|
foreach ($userRecords as $record) {
|
||||||
|
$createdat = new DateTime($record->CreatedDate);
|
||||||
|
$date = $createdat->format('d-m-Y');
|
||||||
|
$time = $createdat->format('h:i A');
|
||||||
|
?>
|
||||||
|
<tr>
|
||||||
|
<td><?php echo $date; ?></td>
|
||||||
|
<td><?php echo $time; ?></td>
|
||||||
|
<td><?php echo $record->code ?></td>
|
||||||
|
<td><?php echo $record->CostCenterName ?></td>
|
||||||
|
<!-- <td><?php echo $record->ApprovedBy ?></td> -->
|
||||||
|
<td><?php echo $record->FirstName ?></td>
|
||||||
|
<td><?php
|
||||||
|
$R = '';
|
||||||
|
$record->IsActive == 1 ? $R = 'ACTIVE' : $R = 'INACTIVE';
|
||||||
|
echo $R;
|
||||||
|
?></td>
|
||||||
|
<td>
|
||||||
|
<?php
|
||||||
|
if ($record->DeletedBy == '') {
|
||||||
|
?>
|
||||||
|
<a data-toggle="modal" href="#ccwizard" data-id="<?php echo $record->id; ?>" data-name="<?php echo $record->CostCenterName; ?>" ><i class="fas fa-pencil-alt"></i></a>
|
||||||
|
<a href="<?php echo base_url() . 'deleteCostCenter?CostCode=' . $record->code; ?>"><i class="fa fa-trash"></i> </a>
|
||||||
|
<?php } ?>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div> <!-- end card body-->
|
||||||
|
</div> <!-- end card -->
|
||||||
|
</div><!-- end col-->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</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" src="<?php echo base_url(); ?>public/assets/js/common.js" charset="utf-8"></script>
|
||||||
<script src="https://cdn.datatables.net/plug-ins/1.10.16/sorting/datetime-moment.js"></script>
|
<script src="https://cdn.datatables.net/plug-ins/1.10.16/sorting/datetime-moment.js"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
@ -234,78 +234,78 @@ $(document).ready(function() {
|
|||||||
var dateSplit = date.split('-');
|
var dateSplit = date.split('-');
|
||||||
return (dateSplit[2] + dateSplit[1] + dateSplit[0]) * 1;
|
return (dateSplit[2] + dateSplit[1] + dateSplit[0]) * 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Initialize the DataTable
|
// Initialize the DataTable
|
||||||
var table = $('#datatable').DataTable({
|
var table = $('#cost_listing').DataTable({
|
||||||
"paging": true,
|
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
|
||||||
"lengthChange": true,
|
buttons: [
|
||||||
"searching": true,
|
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
|
||||||
"ordering": true,
|
|
||||||
"columnDefs": [{
|
|
||||||
"targets": 0,
|
|
||||||
"type": "date-eu"
|
|
||||||
}],
|
|
||||||
"aaSorting": [
|
|
||||||
[0, "desc"]
|
|
||||||
],
|
],
|
||||||
"info": true,
|
pageLength: 10, // Default rows per page
|
||||||
"autoWidth": true,
|
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
|
||||||
"pageLength": 10,
|
responsive: true, // Responsive table
|
||||||
"lengthMenu": [10, 25, 50, 100],
|
order: [[0, 'desc']], // Default ordering (column index 0, descending)
|
||||||
|
language: {
|
||||||
});
|
paginate: {
|
||||||
|
next: '<i class="fas fa-angle-right"></i>', // Next button icon
|
||||||
// Initialize the datepickers
|
previous: '<i class="fas fa-angle-left"></i>' // Previous button icon
|
||||||
$("#fromDate").datepicker({
|
}
|
||||||
dateFormat: 'dd-mm-yy',
|
|
||||||
onSelect: function(selectedDate) {
|
|
||||||
var minDate = $(this).datepicker("getDate");
|
|
||||||
$("#toDate").datepicker("option", "minDate", minDate);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#toDate").datepicker({
|
// Date range filter function
|
||||||
dateFormat: 'dd-mm-yy',
|
$.fn.dataTable.ext.search.push(
|
||||||
onSelect: function(selectedDate) {
|
function(settings, data, dataIndex) {
|
||||||
var maxDate = $(this).datepicker("getDate");
|
var fromDate = $('#fromDate').val();
|
||||||
$("#fromDate").datepicker("option", "maxDate", maxDate);
|
var toDate = $('#toDate').val();
|
||||||
|
|
||||||
|
if (!fromDate || !toDate) {
|
||||||
|
return true; // If no dates selected, don't filter
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var dateStr = data[0]; // 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").submit(function(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
table.draw(); // Redraw the table to apply the filter
|
||||||
});
|
});
|
||||||
|
|
||||||
// Reset button functionality
|
// Reset button functionality
|
||||||
$("#resetButton").click(function() {
|
$("#resetButton").click(function() {
|
||||||
$("#fromDate").datepicker("setDate", null);
|
$("#fromDate").val('');
|
||||||
$("#toDate").datepicker("setDate", null);
|
$("#toDate").val('');
|
||||||
$("#toDate").datepicker("option", "minDate", null);
|
table.draw(); // Redraw the table to clear the filter
|
||||||
$("#fromDate").datepicker("option", "maxDate", null);
|
|
||||||
table.draw();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Date range filter
|
// Automatically focus and open the To Date picker when From Date is selected
|
||||||
$.fn.dataTable.ext.search.push(
|
document.getElementById('fromDate').addEventListener('change', function() {
|
||||||
|
var fromDate = this.value;
|
||||||
|
var toDateInput = document.getElementById('toDate');
|
||||||
|
|
||||||
function(settings, data, dataIndex) {
|
// Set the min attribute of the To Date input to the selected From Date
|
||||||
var fromDate = $("#fromDate").datepicker("getDate");
|
toDateInput.min = fromDate;
|
||||||
var toDate = $("#toDate").datepicker("getDate");
|
|
||||||
|
|
||||||
var dateStr = data[0]; // Assuming the date is in the first column
|
// Optionally reset the To Date input if the current value is before the new min date
|
||||||
|
if (toDateInput.value < fromDate) {
|
||||||
// Convert dateStr to Date object
|
toDateInput.value = fromDate;
|
||||||
var dateParts = dateStr.split("-");
|
|
||||||
var date = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]); // Convert dd-mm-yyyy to Date object
|
|
||||||
|
|
||||||
if (!fromDate || !toDate) {
|
|
||||||
return true; // No filter if dates are not selected
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return date >= fromDate && date <= toDate;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
// Handle form submission
|
|
||||||
$("#DateRangeFilter").submit(function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
table.draw();
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<!-- <script src="https://cdn.datatables.net/plug-ins/1.10.11/sorting/date-eu.js"></script> -->
|
|
||||||
@ -37,22 +37,82 @@
|
|||||||
float: inline-end;
|
float: inline-end;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
<style>
|
||||||
|
#Requisition_filter {
|
||||||
|
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_wrapper .row:nth-child(3),
|
||||||
|
#Requisition_wrapper .row:nth-child(1) {
|
||||||
|
padding: 0 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#Requisition_info {
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dataTables_wrapper {
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
||||||
<div class="content-page">
|
<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');
|
<?php $attributes = array('class' => 'form-label-left CreatePO ', 'name' => 'CreatePO', 'id' => 'CreatePO', 'method' => 'post', 'role' => 'form');
|
||||||
echo form_open(base_url() . 'purchaseOrder', $attributes); ?>
|
echo form_open(base_url() . 'purchaseOrder', $attributes); ?>
|
||||||
|
|
||||||
<!-- Start Content-->
|
<!-- Start Content-->
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
|
|
||||||
<!-- start page title -->
|
<!-- start page title -->
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="page-title-box page-title-box-alt">
|
<div class="page-title-box page-title-box-alt">
|
||||||
<h4 class="page-title">Create Purchase Order from Requistion</h4>
|
<h4 class="page-title">Create Purchase Order from Requistion</h4>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -77,17 +137,16 @@
|
|||||||
<?php echo session()->getFlashdata('success'); ?>
|
<?php echo session()->getFlashdata('success'); ?>
|
||||||
</div>
|
</div>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<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>');
|
<?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>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
$listErrors = session()->getFlashdata('listErrors');
|
$listErrors = session()->getFlashdata('listErrors');
|
||||||
if ($listErrors) {
|
if ($listErrors) { ?>
|
||||||
?>
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="alert alert-danger alert-dismissable">
|
<div class="alert alert-danger alert-dismissable">
|
||||||
@ -112,11 +171,22 @@
|
|||||||
<!-- </div> -->
|
<!-- </div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
|
|
||||||
<div class="card">
|
<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">
|
<div class="card-body">
|
||||||
<div class="modal fade" id="RequisitionDtlsModal" role="dialog">
|
<div class="modal fade" id="RequisitionDtlsModal" role="dialog">
|
||||||
<div class="modal-dialog" style="vertical-align: middle;width: fit-content">
|
<div class="modal-dialog" style="vertical-align: middle;width: fit-content">
|
||||||
@ -291,7 +361,6 @@
|
|||||||
</div> <!-- end card -->
|
</div> <!-- end card -->
|
||||||
</div><!-- end col-->
|
</div><!-- end col-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div> <!-- container -->
|
</div> <!-- container -->
|
||||||
</div> <!-- content -->
|
</div> <!-- content -->
|
||||||
</div>
|
</div>
|
||||||
@ -326,9 +395,13 @@
|
|||||||
|
|
||||||
|
|
||||||
function selectReqNo(rowId) {
|
function selectReqNo(rowId) {
|
||||||
|
|
||||||
|
console.log("entered");
|
||||||
|
|
||||||
ckb = $('#chk' + rowId).is(':checked');
|
ckb = $('#chk' + rowId).is(':checked');
|
||||||
var tr = document.getElementById(rowId);
|
var tr = document.getElementById(rowId);
|
||||||
var cellval = tr.cells;
|
var cellval = tr.cells;
|
||||||
|
console.log(cellval)
|
||||||
//coo/kie_value_add = {};
|
//coo/kie_value_add = {};
|
||||||
if (!ckb) {
|
if (!ckb) {
|
||||||
var removeItem = cellval[2].innerText;
|
var removeItem = cellval[2].innerText;
|
||||||
@ -340,16 +413,22 @@
|
|||||||
} else {
|
} else {
|
||||||
var tr = document.getElementById(rowId);
|
var tr = document.getElementById(rowId);
|
||||||
var cellval = tr.cells;
|
var cellval = tr.cells;
|
||||||
|
|
||||||
|
|
||||||
//alert(RequistionList.Req.length);
|
//alert(RequistionList.Req.length);
|
||||||
if (RequistionList.Req.length > 0) {
|
if (RequistionList.Req.length > 0) {
|
||||||
|
console.log("111111111");
|
||||||
|
|
||||||
if (Type == cellval[3].innerText) {
|
if (Type == cellval[3].innerText) {
|
||||||
|
|
||||||
RequistionList.Req.push({
|
RequistionList.Req.push({
|
||||||
"ReqNo": cellval[2].innerText,
|
"ReqNo": cellval[2].innerText,
|
||||||
"ReqType": cellval[3].innerText,
|
"ReqType": cellval[3].innerText,
|
||||||
"ReqBy": cellval[4].innerText,
|
"ReqBy": cellval[4].innerText,
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
console.log("333333333");
|
||||||
|
|
||||||
alert('Same type of Requistion only can be together.')
|
alert('Same type of Requistion only can be together.')
|
||||||
$('#chk' + rowId).attr('checked', false);
|
$('#chk' + rowId).attr('checked', false);
|
||||||
}
|
}
|
||||||
@ -366,6 +445,9 @@
|
|||||||
}
|
}
|
||||||
i = i + 1;
|
i = i + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log(JSON.stringify(RequistionList));
|
||||||
|
|
||||||
$('#txtReqNo').val(JSON.stringify(RequistionList));
|
$('#txtReqNo').val(JSON.stringify(RequistionList));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -396,6 +478,10 @@
|
|||||||
|
|
||||||
function Validate() {
|
function Validate() {
|
||||||
var ReqNo = $('#txtReqNo').val();
|
var ReqNo = $('#txtReqNo').val();
|
||||||
|
console.log("--------------");
|
||||||
|
|
||||||
|
console.log(ReqNo);
|
||||||
|
|
||||||
if (ReqNo.length <= 0) {
|
if (ReqNo.length <= 0) {
|
||||||
alert('Please select the Requisition Number to Create Purchase Order');
|
alert('Please select the Requisition Number to Create Purchase Order');
|
||||||
return false;
|
return false;
|
||||||
@ -425,8 +511,12 @@
|
|||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<script src="https://cdn.datatables.net/plug-ins/1.10.11/sorting/date-eu.js"></script>
|
<script src="https://cdn.datatables.net/plug-ins/1.10.11/sorting/date-eu.js"></script>
|
||||||
<script>$(document).ready(function() {
|
<script>
|
||||||
$('#create_po_from_requistion').DataTable({
|
|
||||||
|
|
||||||
|
$(document).ready(function() {
|
||||||
|
// Initialize the DataTable
|
||||||
|
var table = $('#create_po_from_requistion').DataTable({
|
||||||
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
|
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
|
||||||
buttons: [
|
buttons: [
|
||||||
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
|
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
|
||||||
@ -434,7 +524,7 @@
|
|||||||
pageLength: 10, // Default rows per page
|
pageLength: 10, // Default rows per page
|
||||||
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
|
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
|
||||||
responsive: true, // Responsive table
|
responsive: true, // Responsive table
|
||||||
order: [[0, 'desc']], // Default ordering (column index 0, ascending)
|
order: [[0, 'desc']], // Default ordering (column index 0, descending)
|
||||||
language: {
|
language: {
|
||||||
paginate: {
|
paginate: {
|
||||||
next: '<i class="fas fa-angle-right"></i>', // Next button icon
|
next: '<i class="fas fa-angle-right"></i>', // Next button icon
|
||||||
@ -442,6 +532,61 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 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>
|
</script>
|
||||||
@ -41,12 +41,25 @@
|
|||||||
color: #0056b3;
|
color: #0056b3;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<div class="content-wrapper">
|
|
||||||
<!-- Content Header (Page header) -->
|
|
||||||
<!-- <section class="content-header"> -->
|
<div class="content-page">
|
||||||
<section class="content">
|
<div class="content">
|
||||||
|
<!-- Start Content-->
|
||||||
|
<div class="container-fluid">
|
||||||
|
<!-- start page title -->
|
||||||
|
<div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-6">
|
||||||
|
<div class="page-title-box page-title-box-alt">
|
||||||
|
<h4 class="page-title">Department Details</h4>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-6 text-right">
|
||||||
|
<a class="btn btn-success" href="<?php echo base_url(); ?>adddepartment">Add New department</a>
|
||||||
|
<a class="btn btn-success" href="<?php echo base_url(); ?>exportdepartment">Export department details <i class="fa fa-download" aira-hidden="true"></i></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<?php
|
<?php
|
||||||
helper('form');
|
helper('form');
|
||||||
$error = session()->getFlashdata('error');
|
$error = session()->getFlashdata('error');
|
||||||
@ -68,48 +81,23 @@
|
|||||||
<?php } ?>
|
<?php } ?>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-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 class="card">
|
||||||
?> </div>
|
<form class="Date-filter-form" id="DateRangeFilter" style="margin-top: 14px;margin-bottom: -11px;margin-left: 33px;">
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="box">
|
|
||||||
<div class="box-header">
|
|
||||||
<center>
|
|
||||||
<h3 class="box-title">Department Details</h3>
|
|
||||||
</center>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="container-fluid">
|
|
||||||
<!-- </section> -->
|
|
||||||
<!-- <section class="content"> -->
|
|
||||||
<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">
|
<input type="hidden" name="table" value="requisition">
|
||||||
<label for="fromDate">From:</label>
|
<label for="fromDate">From:</label>
|
||||||
<input type="text" id="fromDate" name="fromDate" placeholder="Select From Date" autocomplete="off" required>
|
<input class="form-control date_range" type="date" id="fromDate" name="fromDate" placeholder="Select From Date" autocomplete="off" required>
|
||||||
|
|
||||||
<label for="toDate">To:</label>
|
<label for="toDate">To:</label>
|
||||||
<input type="text" id="toDate" name="toDate" placeholder="Select To Date" autocomplete="off" required>
|
<input class="form-control date_range" type="date" id="toDate" name="toDate" placeholder="Select To Date" autocomplete="off" required>
|
||||||
|
|
||||||
<button type="submit">Search</button>
|
<button type="submit" class="range_search_button"><i class="fe-search" aria-hidden="true" class="icon-button" title="Search"></i></button>
|
||||||
<i class="fa fa-repeat" aria-hidden="true" class="icon-button" id="resetButton" title="Reset"></i>
|
<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>
|
<div class="error" id="error"></div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
<div class="card-body">
|
||||||
<div class="col-xs-12 col-md-6 text-right">
|
<table id="department_list_table" class="table dt-responsive nowrap w-100">
|
||||||
<div class="form-group">
|
<thead>
|
||||||
<a class="btn btn-success" href="<?php echo base_url(); ?>adddepartment">Add New department</a>
|
|
||||||
<a class="btn btn-success" href="<?php echo base_url(); ?>exportdepartment">Export department details <i class="fa fa-download" aira-hidden="true"></i></a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12">
|
|
||||||
<table class="table table-bordered table-hover" id="datatable" style="background-color:#fff;font-size:12px;">
|
|
||||||
<thead style="background-color: #ddd;">
|
|
||||||
<tr>
|
<tr>
|
||||||
<th>Create Date</th>
|
<th>Create Date</th>
|
||||||
<th>Department Code</th>
|
<th>Department Code</th>
|
||||||
@ -149,108 +137,96 @@
|
|||||||
?>
|
?>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
</div> <!-- end card body-->
|
||||||
|
</div> <!-- end card -->
|
||||||
|
</div><!-- end col-->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div> <!-- container -->
|
||||||
|
</div> <!-- content -->
|
||||||
|
</div>
|
||||||
|
|
||||||
</div><!-- colsxs12 div closed-->
|
|
||||||
</div><!-- row div closed -->
|
|
||||||
</div><!-- containerfluid div closed -->
|
|
||||||
</div><!-- box div closed -->
|
|
||||||
</section>
|
|
||||||
|
|
||||||
</div><!-- content wrapper div closed -->
|
|
||||||
<script type="text/javascript" src="<?php echo base_url(); ?>public/assets/js/common.js" charset="utf-8"></script>
|
<script type="text/javascript" src="<?php echo base_url(); ?>public/assets/js/common.js" charset="utf-8"></script>
|
||||||
<!-- <script type="text/javascript">
|
|
||||||
|
|
||||||
$(function () {
|
|
||||||
|
|
||||||
$('#datatable').DataTable({
|
|
||||||
"paging": true,
|
|
||||||
"lengthChange": true,
|
|
||||||
"searching": true,
|
|
||||||
"ordering": true,
|
|
||||||
"info": true,
|
|
||||||
"autoWidth": true
|
|
||||||
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
</script> -->
|
|
||||||
<script>
|
<script>
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$.fn.dataTable.ext.type.order['date-eu-pre'] = function(date) {
|
$.fn.dataTable.ext.type.order['date-eu-pre'] = function(date) {
|
||||||
var dateSplit = date.split('-');
|
var dateSplit = date.split('-');
|
||||||
return (dateSplit[2] + dateSplit[1] + dateSplit[0]) * 1;
|
return (dateSplit[2] + dateSplit[1] + dateSplit[0]) * 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Initialize the DataTable
|
// Initialize the DataTable
|
||||||
var table = $('#datatable').DataTable({
|
var table = $('#department_list_table').DataTable({
|
||||||
"paging": true,
|
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
|
||||||
"lengthChange": true,
|
buttons: [
|
||||||
"searching": true,
|
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
|
||||||
"ordering": true,
|
|
||||||
"columnDefs": [{
|
|
||||||
"targets": 0,
|
|
||||||
"type": "date-eu"
|
|
||||||
}],
|
|
||||||
"aaSorting": [
|
|
||||||
[0, "desc"]
|
|
||||||
],
|
],
|
||||||
"info": true,
|
pageLength: 10, // Default rows per page
|
||||||
"autoWidth": true,
|
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
|
||||||
"pageLength": 10,
|
responsive: true, // Responsive table
|
||||||
"lengthMenu": [10, 25, 50, 100],
|
order: [[0, 'desc']], // Default ordering (column index 0, descending)
|
||||||
|
language: {
|
||||||
});
|
paginate: {
|
||||||
|
next: '<i class="fas fa-angle-right"></i>', // Next button icon
|
||||||
// Initialize the datepickers
|
previous: '<i class="fas fa-angle-left"></i>' // Previous button icon
|
||||||
$("#fromDate").datepicker({
|
}
|
||||||
dateFormat: 'dd-mm-yy',
|
|
||||||
onSelect: function(selectedDate) {
|
|
||||||
var minDate = $(this).datepicker("getDate");
|
|
||||||
$("#toDate").datepicker("option", "minDate", minDate);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#toDate").datepicker({
|
// Date range filter function
|
||||||
dateFormat: 'dd-mm-yy',
|
$.fn.dataTable.ext.search.push(
|
||||||
onSelect: function(selectedDate) {
|
function(settings, data, dataIndex) {
|
||||||
var maxDate = $(this).datepicker("getDate");
|
var fromDate = $('#fromDate').val();
|
||||||
$("#fromDate").datepicker("option", "maxDate", maxDate);
|
var toDate = $('#toDate').val();
|
||||||
|
|
||||||
|
if (!fromDate || !toDate) {
|
||||||
|
return true; // If no dates selected, don't filter
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var dateStr = data[0]; // 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").submit(function(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
table.draw(); // Redraw the table to apply the filter
|
||||||
});
|
});
|
||||||
|
|
||||||
// Reset button functionality
|
// Reset button functionality
|
||||||
$("#resetButton").click(function() {
|
$("#resetButton").click(function() {
|
||||||
$("#fromDate").datepicker("setDate", null);
|
$("#fromDate").val('');
|
||||||
$("#toDate").datepicker("setDate", null);
|
$("#toDate").val('');
|
||||||
$("#toDate").datepicker("option", "minDate", null);
|
table.draw(); // Redraw the table to clear the filter
|
||||||
$("#fromDate").datepicker("option", "maxDate", null);
|
|
||||||
table.draw();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Date range filter
|
// Automatically focus and open the To Date picker when From Date is selected
|
||||||
$.fn.dataTable.ext.search.push(
|
document.getElementById('fromDate').addEventListener('change', function() {
|
||||||
|
var fromDate = this.value;
|
||||||
|
var toDateInput = document.getElementById('toDate');
|
||||||
|
|
||||||
function(settings, data, dataIndex) {
|
// Set the min attribute of the To Date input to the selected From Date
|
||||||
var fromDate = $("#fromDate").datepicker("getDate");
|
toDateInput.min = fromDate;
|
||||||
var toDate = $("#toDate").datepicker("getDate");
|
|
||||||
|
|
||||||
var dateStr = data[0]; // Assuming the date is in the first column
|
// Optionally reset the To Date input if the current value is before the new min date
|
||||||
|
if (toDateInput.value < fromDate) {
|
||||||
// Convert dateStr to Date object
|
toDateInput.value = fromDate;
|
||||||
var dateParts = dateStr.split("-");
|
|
||||||
var date = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]); // Convert dd-mm-yyyy to Date object
|
|
||||||
|
|
||||||
if (!fromDate || !toDate) {
|
|
||||||
return true; // No filter if dates are not selected
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return date >= fromDate && date <= toDate;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
// Handle form submission
|
|
||||||
$("#DateRangeFilter").submit(function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
table.draw();
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
@ -63,5 +63,10 @@
|
|||||||
|
|
||||||
<script src="<?php echo base_url(); ?>public/new_assets/libs/select2/js/select2.min.js"></script>
|
<script src="<?php echo base_url(); ?>public/new_assets/libs/select2/js/select2.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@ -59,8 +59,25 @@
|
|||||||
<link href="https://cdn.jsdelivr.net/npm/remixicon@2.5.0/fonts/remixicon.css" rel="stylesheet">
|
<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">
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" rel="stylesheet">
|
||||||
|
|
||||||
<style>
|
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.date_range{
|
||||||
|
width:auto;
|
||||||
|
}
|
||||||
|
.range_search_button{
|
||||||
|
background-color: blue;
|
||||||
|
color: #fff;
|
||||||
|
width: 55px;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
.range_reset_button{
|
||||||
|
background-color: red;
|
||||||
|
color: #fff;
|
||||||
|
width: 55px;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 8px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
.content-page {
|
.content-page {
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -110,13 +110,13 @@ if (empty($Status)) {
|
|||||||
<form class="Date-filter-form" id="DateRangeFilter" style="margin-top: 14px;margin-bottom: -11px;margin-left: 33px;">
|
<form class="Date-filter-form" id="DateRangeFilter" style="margin-top: 14px;margin-bottom: -11px;margin-left: 33px;">
|
||||||
<input type="hidden" name="table" value="requisition">
|
<input type="hidden" name="table" value="requisition">
|
||||||
<label for="fromDate">From:</label>
|
<label for="fromDate">From:</label>
|
||||||
<input type="text" id="fromDate" name="fromDate" placeholder="Select From Date" autocomplete="off" required>
|
<input class="form-control date_range" type="date" id="fromDate" name="fromDate" placeholder="Select From Date" autocomplete="off" required>
|
||||||
|
|
||||||
<label for="toDate">To:</label>
|
<label for="toDate">To:</label>
|
||||||
<input type="text" id="toDate" name="toDate" placeholder="Select To Date" autocomplete="off" required>
|
<input class="form-control date_range" type="date" id="toDate" name="toDate" placeholder="Select To Date" autocomplete="off" required>
|
||||||
|
|
||||||
<button type="submit">Search</button>
|
<button type="submit" class="range_search_button"><i class="fe-search" aria-hidden="true" class="icon-button" title="Search"></i></button>
|
||||||
<i class="fa fa-repeat" aria-hidden="true" class="icon-button" id="resetButton" title="Reset"></i>
|
<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>
|
<div class="error" id="error"></div>
|
||||||
</form>
|
</form>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
@ -507,104 +507,13 @@ if (empty($Status)) {
|
|||||||
var dateSplit = date.split('/');
|
var dateSplit = date.split('/');
|
||||||
return (dateSplit[2] + dateSplit[1] + dateSplit[0]) * 1;
|
return (dateSplit[2] + dateSplit[1] + dateSplit[0]) * 1;
|
||||||
};
|
};
|
||||||
$(document).ready(function() {
|
|
||||||
// Initialize the DataTable
|
|
||||||
var table = $('#Requisition').DataTable({
|
|
||||||
"paging": true,
|
|
||||||
"lengthChange": true,
|
|
||||||
"searching": true,
|
|
||||||
"ordering": true,
|
|
||||||
"columnDefs": [{
|
|
||||||
"targets": 0,
|
|
||||||
"type": "date-eu"
|
|
||||||
}],
|
|
||||||
"aaSorting": [
|
|
||||||
[0, "desc"]
|
|
||||||
],
|
|
||||||
"info": true,
|
|
||||||
"autoWidth": true,
|
|
||||||
"pageLength": 10,
|
|
||||||
"lengthMenu": [10, 25, 50, 100],
|
|
||||||
"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',
|
|
||||||
text: 'Export to Excel',
|
|
||||||
title: 'Approve Purchase Order List',
|
|
||||||
exportOptions: {
|
|
||||||
columns: ':visible:not(:last-child)' // Exclude first and last columns
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
extend: 'pdfHtml5',
|
|
||||||
text: 'Export to PDF',
|
|
||||||
title: 'Approve Purchase Order List',
|
|
||||||
exportOptions: {
|
|
||||||
columns: ':visible:not(:last-child)' // Exclude first and last columns
|
|
||||||
}
|
|
||||||
}]
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
// Initialize the datepickers
|
|
||||||
$("#fromDate").datepicker({
|
|
||||||
dateFormat: 'dd-mm-yy',
|
|
||||||
onSelect: function(selectedDate) {
|
|
||||||
var minDate = $(this).datepicker("getDate");
|
|
||||||
$("#toDate").datepicker("option", "minDate", minDate);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#toDate").datepicker({
|
|
||||||
dateFormat: 'dd-mm-yy',
|
|
||||||
onSelect: function(selectedDate) {
|
|
||||||
var maxDate = $(this).datepicker("getDate");
|
|
||||||
$("#fromDate").datepicker("option", "maxDate", maxDate);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Reset button functionality
|
|
||||||
$("#resetButton").click(function() {
|
|
||||||
$("#fromDate").datepicker("setDate", null);
|
|
||||||
$("#toDate").datepicker("setDate", null);
|
|
||||||
$("#toDate").datepicker("option", "minDate", null);
|
|
||||||
$("#fromDate").datepicker("option", "maxDate", null);
|
|
||||||
table.draw();
|
|
||||||
});
|
|
||||||
|
|
||||||
// Date range filter
|
|
||||||
$.fn.dataTable.ext.search.push(
|
|
||||||
|
|
||||||
function(settings, data, dataIndex) {
|
|
||||||
var fromDate = $("#fromDate").datepicker("getDate");
|
|
||||||
var toDate = $("#toDate").datepicker("getDate");
|
|
||||||
|
|
||||||
var dateStr = data[0]; // Assuming the date is in the first column
|
|
||||||
|
|
||||||
// Convert dateStr to Date object
|
|
||||||
var dateParts = dateStr.split("-");
|
|
||||||
var date = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]); // Convert dd-mm-yyyy to Date object
|
|
||||||
|
|
||||||
if (!fromDate || !toDate) {
|
|
||||||
return true; // No filter if dates are not selected
|
|
||||||
}
|
|
||||||
|
|
||||||
return date >= fromDate && date <= toDate;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
// Handle form submission
|
|
||||||
$("#DateRangeFilter").submit(function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
table.draw();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script>$(document).ready(function() {
|
|
||||||
$('#po_release').DataTable({
|
<script>
|
||||||
|
$(document).ready(function() {
|
||||||
|
// Initialize the DataTable
|
||||||
|
var table = $('#po_release').DataTable({
|
||||||
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
|
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
|
||||||
buttons: [
|
buttons: [
|
||||||
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
|
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
|
||||||
@ -612,7 +521,7 @@ if (empty($Status)) {
|
|||||||
pageLength: 10, // Default rows per page
|
pageLength: 10, // Default rows per page
|
||||||
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
|
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
|
||||||
responsive: true, // Responsive table
|
responsive: true, // Responsive table
|
||||||
order: [[0, 'desc']], // Default ordering (column index 0, ascending)
|
order: [[0, 'desc']], // Default ordering (column index 0, descending)
|
||||||
language: {
|
language: {
|
||||||
paginate: {
|
paginate: {
|
||||||
next: '<i class="fas fa-angle-right"></i>', // Next button icon
|
next: '<i class="fas fa-angle-right"></i>', // Next button icon
|
||||||
@ -620,6 +529,60 @@ if (empty($Status)) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 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[0]; // 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").submit(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>
|
</script>
|
||||||
@ -35,9 +35,26 @@
|
|||||||
color: #0056b3;
|
color: #0056b3;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<div class="content-wrapper">
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="content-page">
|
||||||
|
<div class="content">
|
||||||
|
<!-- Start Content-->
|
||||||
|
<div class="container-fluid">
|
||||||
|
<!-- start page title -->
|
||||||
|
<div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-6">
|
||||||
|
<div class="page-title-box page-title-box-alt">
|
||||||
|
<h4 class="page-title">Material Master Details</h4>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-6 text-right">
|
||||||
|
<a class="btn btn-success" href="<?php echo base_url(); ?>addRawmaterial">Add New Material</a>
|
||||||
|
<a class="btn btn-success" href="<?php echo base_url(); ?>exportmaterial">Export Material Master <i class="fa fa-download" aira-hidden="true"></i></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<?php
|
<?php
|
||||||
helper('form');
|
helper('form');
|
||||||
$error = session()->getFlashdata('error');
|
$error = session()->getFlashdata('error');
|
||||||
@ -51,48 +68,25 @@
|
|||||||
echo show_alert($type, $success);
|
echo show_alert($type, $success);
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-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 class="card">
|
||||||
?> </div>
|
<form class="Date-filter-form" id="DateRangeFilter" style="margin-top: 14px;margin-bottom: -11px;margin-left: 33px;">
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<section class="content">
|
|
||||||
<div class="box">
|
|
||||||
<div class="box-header">
|
|
||||||
<CENTER>
|
|
||||||
<h3 class="box-title"> Material Master 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">
|
<input type="hidden" name="table" value="requisition">
|
||||||
<label for="fromDate">From:</label>
|
<label for="fromDate">From:</label>
|
||||||
<input type="text" id="fromDate" name="fromDate" placeholder="Select From Date" autocomplete="off" required>
|
<input class="form-control date_range" type="date" id="fromDate" name="fromDate" placeholder="Select From Date" autocomplete="off" required>
|
||||||
|
|
||||||
<label for="toDate">To:</label>
|
<label for="toDate">To:</label>
|
||||||
<input type="text" id="toDate" name="toDate" placeholder="Select To Date" autocomplete="off" required>
|
<input class="form-control date_range" type="date" id="toDate" name="toDate" placeholder="Select To Date" autocomplete="off" required>
|
||||||
|
|
||||||
<button type="submit">Search</button>
|
<button type="submit" class="range_search_button"><i class="fe-search" aria-hidden="true" class="icon-button" title="Search"></i></button>
|
||||||
<i class="fa fa-repeat" aria-hidden="true" class="icon-button" id="resetButton" title="Reset"></i>
|
<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>
|
<div class="error" id="error"></div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
<div class="card-body">
|
||||||
<div class="col-xs-12 col-md-6 text-right">
|
<table id="raw_material_list_table" class="table dt-responsive nowrap w-100">
|
||||||
<div class="form-group">
|
<thead>
|
||||||
<a class="btn btn-success" href="<?php echo base_url(); ?>addRawmaterial">Add New Material</a>
|
|
||||||
<a class="btn btn-success" href="<?php echo base_url(); ?>exportmaterial">Export Material Master <i class="fa fa-download" aira-hidden="true"></i></a>
|
|
||||||
</div>
|
|
||||||
</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;">
|
|
||||||
<thead style="background-color: #ddd;">
|
|
||||||
<tr>
|
<tr>
|
||||||
<th>Created Date</th>
|
<th>Created Date</th>
|
||||||
<th>Material Code</th>
|
<th>Material Code</th>
|
||||||
@ -133,14 +127,18 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
</div> <!-- end card body-->
|
||||||
|
</div> <!-- end card -->
|
||||||
|
</div><!-- end col-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div> <!-- container -->
|
||||||
|
</div> <!-- content -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript" src="<?php echo base_url(); ?>public/assets/js/common.js" charset="utf-8"></script>
|
<script type="text/javascript" src="<?php echo base_url(); ?>public/assets/js/common.js" charset="utf-8"></script>
|
||||||
<!-- <script type="text/javascript">
|
<!-- <script type="text/javascript">
|
||||||
|
|
||||||
@ -166,76 +164,76 @@
|
|||||||
};
|
};
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
// Initialize the DataTable
|
// Initialize the DataTable
|
||||||
var table = $('#datatable').DataTable({
|
var table = $('#raw_material_list_table').DataTable({
|
||||||
"paging": true,
|
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
|
||||||
"lengthChange": true,
|
buttons: [
|
||||||
"searching": true,
|
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
|
||||||
"ordering": true,
|
|
||||||
"columnDefs": [{
|
|
||||||
"targets": 0,
|
|
||||||
"type": "date-eu"
|
|
||||||
}],
|
|
||||||
"aaSorting": [
|
|
||||||
[0, "desc"]
|
|
||||||
],
|
],
|
||||||
"info": true,
|
pageLength: 10, // Default rows per page
|
||||||
"autoWidth": true,
|
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
|
||||||
"pageLength": 10,
|
responsive: true, // Responsive table
|
||||||
"lengthMenu": [10, 25, 50, 100],
|
order: [[0, 'desc']], // Default ordering (column index 0, descending)
|
||||||
|
language: {
|
||||||
});
|
paginate: {
|
||||||
|
next: '<i class="fas fa-angle-right"></i>', // Next button icon
|
||||||
// Initialize the datepickers
|
previous: '<i class="fas fa-angle-left"></i>' // Previous button icon
|
||||||
$("#fromDate").datepicker({
|
}
|
||||||
dateFormat: 'dd-mm-yy',
|
|
||||||
onSelect: function(selectedDate) {
|
|
||||||
var minDate = $(this).datepicker("getDate");
|
|
||||||
$("#toDate").datepicker("option", "minDate", minDate);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#toDate").datepicker({
|
// Date range filter function
|
||||||
dateFormat: 'dd-mm-yy',
|
$.fn.dataTable.ext.search.push(
|
||||||
onSelect: function(selectedDate) {
|
function(settings, data, dataIndex) {
|
||||||
var maxDate = $(this).datepicker("getDate");
|
var fromDate = $('#fromDate').val();
|
||||||
$("#fromDate").datepicker("option", "maxDate", maxDate);
|
var toDate = $('#toDate').val();
|
||||||
|
|
||||||
|
if (!fromDate || !toDate) {
|
||||||
|
return true; // If no dates selected, don't filter
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var dateStr = data[0]; // 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").submit(function(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
table.draw(); // Redraw the table to apply the filter
|
||||||
});
|
});
|
||||||
|
|
||||||
// Reset button functionality
|
// Reset button functionality
|
||||||
$("#resetButton").click(function() {
|
$("#resetButton").click(function() {
|
||||||
$("#fromDate").datepicker("setDate", null);
|
$("#fromDate").val('');
|
||||||
$("#toDate").datepicker("setDate", null);
|
$("#toDate").val('');
|
||||||
$("#toDate").datepicker("option", "minDate", null);
|
table.draw(); // Redraw the table to clear the filter
|
||||||
$("#fromDate").datepicker("option", "maxDate", null);
|
|
||||||
table.draw();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Date range filter
|
// Automatically focus and open the To Date picker when From Date is selected
|
||||||
$.fn.dataTable.ext.search.push(
|
document.getElementById('fromDate').addEventListener('change', function() {
|
||||||
|
var fromDate = this.value;
|
||||||
|
var toDateInput = document.getElementById('toDate');
|
||||||
|
|
||||||
function(settings, data, dataIndex) {
|
// Set the min attribute of the To Date input to the selected From Date
|
||||||
var fromDate = $("#fromDate").datepicker("getDate");
|
toDateInput.min = fromDate;
|
||||||
var toDate = $("#toDate").datepicker("getDate");
|
|
||||||
|
|
||||||
var dateStr = data[0]; // Assuming the date is in the first column
|
// Optionally reset the To Date input if the current value is before the new min date
|
||||||
|
if (toDateInput.value < fromDate) {
|
||||||
// Convert dateStr to Date object
|
toDateInput.value = fromDate;
|
||||||
var dateParts = dateStr.split("-");
|
|
||||||
var date = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]); // Convert dd-mm-yyyy to Date object
|
|
||||||
|
|
||||||
if (!fromDate || !toDate) {
|
|
||||||
return true; // No filter if dates are not selected
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return date >= fromDate && date <= toDate;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
// Handle form submission
|
|
||||||
$("#DateRangeFilter").submit(function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
table.draw();
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
@ -115,13 +115,13 @@ span.highlight {
|
|||||||
<form class="Date-filter-form" id="DateRangeFilter" style="margin-top: 14px;margin-bottom: -11px;margin-left: 33px;">
|
<form class="Date-filter-form" id="DateRangeFilter" style="margin-top: 14px;margin-bottom: -11px;margin-left: 33px;">
|
||||||
<input type="hidden" name="table" value="requisition">
|
<input type="hidden" name="table" value="requisition">
|
||||||
<label for="fromDate">From:</label>
|
<label for="fromDate">From:</label>
|
||||||
<input type="text" id="fromDate" name="fromDate" placeholder="Select From Date" autocomplete="off" required>
|
<input class="form-control date_range" type="date" id="fromDate" name="fromDate" placeholder="Select From Date" autocomplete="off" required>
|
||||||
|
|
||||||
<label for="toDate">To:</label>
|
<label for="toDate">To:</label>
|
||||||
<input type="text" id="toDate" name="toDate" placeholder="Select To Date" autocomplete="off" required>
|
<input class="form-control date_range" type="date" id="toDate" name="toDate" placeholder="Select To Date" autocomplete="off" required>
|
||||||
|
|
||||||
<button type="submit">Search</button>
|
<button type="submit" class="range_search_button"><i class="fe-search" aria-hidden="true" class="icon-button" title="Search"></i></button>
|
||||||
<i class="fa fa-repeat" aria-hidden="true" class="icon-button" id="resetButton" title="Reset"></i>
|
<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>
|
<div class="error" id="error"></div>
|
||||||
</form>
|
</form>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
@ -217,92 +217,10 @@ function DeleteRow(rowid) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
// Initialize the DataTable
|
// Initialize the DataTable
|
||||||
var table = $('#Requisition').DataTable({
|
var table = $('#requisition_listing').DataTable({
|
||||||
"paging": true,
|
|
||||||
"lengthChange": true,
|
|
||||||
"searching": true,
|
|
||||||
"ordering": true,
|
|
||||||
"columnDefs": [{
|
|
||||||
"targets": 0,
|
|
||||||
"type": "date-eu"
|
|
||||||
}],
|
|
||||||
"aaSorting": [
|
|
||||||
[1, "desc"]
|
|
||||||
],
|
|
||||||
"info": true,
|
|
||||||
"autoWidth": true,
|
|
||||||
"pageLength": 10,
|
|
||||||
"lengthMenu": [10, 25, 50, 100],
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
// Initialize the datepickers
|
|
||||||
$("#fromDate").datepicker({
|
|
||||||
dateFormat: 'dd-mm-yy',
|
|
||||||
onSelect: function(selectedDate) {
|
|
||||||
var minDate = $(this).datepicker("getDate");
|
|
||||||
$("#toDate").datepicker("option", "minDate", minDate);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#toDate").datepicker({
|
|
||||||
dateFormat: 'dd-mm-yy',
|
|
||||||
onSelect: function(selectedDate) {
|
|
||||||
var maxDate = $(this).datepicker("getDate");
|
|
||||||
$("#fromDate").datepicker("option", "maxDate", maxDate);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Reset button functionality
|
|
||||||
$("#resetButton").click(function() {
|
|
||||||
$("#fromDate").datepicker("setDate", null);
|
|
||||||
$("#toDate").datepicker("setDate", null);
|
|
||||||
$("#toDate").datepicker("option", "minDate", null);
|
|
||||||
$("#fromDate").datepicker("option", "maxDate", null);
|
|
||||||
table.draw();
|
|
||||||
});
|
|
||||||
|
|
||||||
// Date range filter
|
|
||||||
$.fn.dataTable.ext.search.push(
|
|
||||||
|
|
||||||
function(settings, data, dataIndex) {
|
|
||||||
var fromDate = $("#fromDate").datepicker("getDate");
|
|
||||||
var toDate = $("#toDate").datepicker("getDate");
|
|
||||||
|
|
||||||
var dateStr = data[0]; // Assuming the date is in the first column
|
|
||||||
|
|
||||||
// Convert dateStr to Date object
|
|
||||||
var dateParts = dateStr.split("-");
|
|
||||||
var date = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]); // Convert dd-mm-yyyy to Date object
|
|
||||||
|
|
||||||
if (!fromDate || !toDate) {
|
|
||||||
return true; // No filter if dates are not selected
|
|
||||||
}
|
|
||||||
|
|
||||||
return date >= fromDate && date <= toDate;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
// Handle form submission
|
|
||||||
$("#DateRangeFilter").submit(function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
table.draw();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<script>$(document).ready(function() {
|
|
||||||
$('#requisition_listing').DataTable({
|
|
||||||
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
|
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
|
||||||
buttons: [
|
buttons: [
|
||||||
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
|
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
|
||||||
@ -310,7 +228,7 @@ $(document).ready(function() {
|
|||||||
pageLength: 10, // Default rows per page
|
pageLength: 10, // Default rows per page
|
||||||
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
|
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
|
||||||
responsive: true, // Responsive table
|
responsive: true, // Responsive table
|
||||||
order: [[0, 'desc']], // Default ordering (column index 0, ascending)
|
order: [[0, 'desc']], // Default ordering (column index 0, descending)
|
||||||
language: {
|
language: {
|
||||||
paginate: {
|
paginate: {
|
||||||
next: '<i class="fas fa-angle-right"></i>', // Next button icon
|
next: '<i class="fas fa-angle-right"></i>', // Next button icon
|
||||||
@ -318,6 +236,65 @@ $(document).ready(function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 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[0]; // 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").submit(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>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -36,26 +36,99 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
<style>
|
||||||
|
#Requisition_filter {
|
||||||
|
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_wrapper .row:nth-child(3),
|
||||||
|
#Requisition_wrapper .row:nth-child(1) {
|
||||||
|
padding: 0 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#Requisition_info {
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dataTables_wrapper {
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
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>
|
||||||
<div class="content-page">
|
<div class="content-page">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<!-- Start Content-->
|
<!-- Start Content-->
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
|
|
||||||
<!-- start page title -->
|
<!-- start page title -->
|
||||||
<div>
|
<div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="page-title-box page-title-box-alt">
|
<div class="page-title-box page-title-box-alt">
|
||||||
<h4 class="page-title">Invoices Table</h4>
|
<h4 class="page-title">Invoices Table</h4>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body">
|
<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" title="Search"><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-buttosns" class="table dt-responsive nowrap w-100">
|
<table id="datatable-buttosns" class="table dt-responsive nowrap w-100">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
@ -112,7 +185,6 @@
|
|||||||
<?php } } ?>
|
<?php } } ?>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</div> <!-- end card body-->
|
</div> <!-- end card body-->
|
||||||
</div> <!-- end card -->
|
</div> <!-- end card -->
|
||||||
</div><!-- end col-->
|
</div><!-- end col-->
|
||||||
@ -123,8 +195,10 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<script>$(document).ready(function() {
|
<script>
|
||||||
$('#datatable-buttosns').DataTable({
|
$(document).ready(function() {
|
||||||
|
// Initialize the DataTable
|
||||||
|
var table = $('#datatable-buttosns').DataTable({
|
||||||
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
|
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
|
||||||
buttons: [
|
buttons: [
|
||||||
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
|
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
|
||||||
@ -132,7 +206,7 @@
|
|||||||
pageLength: 10, // Default rows per page
|
pageLength: 10, // Default rows per page
|
||||||
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
|
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
|
||||||
responsive: true, // Responsive table
|
responsive: true, // Responsive table
|
||||||
order: [[0, 'desc']], // Default ordering (column index 0, ascending)
|
order: [[0, 'desc']], // Default ordering (column index 0, descending)
|
||||||
language: {
|
language: {
|
||||||
paginate: {
|
paginate: {
|
||||||
next: '<i class="fas fa-angle-right"></i>', // Next button icon
|
next: '<i class="fas fa-angle-right"></i>', // Next button icon
|
||||||
@ -140,7 +214,60 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 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[0]; // 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").submit(function(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
table.draw(); // Redraw the table to apply the filter
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
// 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>
|
||||||
@ -35,11 +35,10 @@
|
|||||||
color: #0056b3;
|
color: #0056b3;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<div class="content-wrapper">
|
|
||||||
|
|
||||||
<section class="content">
|
|
||||||
<div class="row">
|
<div class="content-page">
|
||||||
<div class="col-md-12">
|
<div class="content">
|
||||||
<?php
|
<?php
|
||||||
helper('form');
|
helper('form');
|
||||||
$error = session()->getFlashdata('error');
|
$error = session()->getFlashdata('error');
|
||||||
@ -54,47 +53,41 @@
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="row">
|
<!-- Start Content-->
|
||||||
<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><b>
|
|
||||||
<h3 class="box-title">Supplier Listing</h3>
|
|
||||||
</b></center>
|
|
||||||
</div>
|
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
|
<!-- start page title -->
|
||||||
|
<div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-12 col-md-6">
|
<div class="col-6">
|
||||||
<form class="Date-filter-form" id="DateRangeFilter">
|
<div class="page-title-box page-title-box-alt">
|
||||||
<input type="hidden" name="table" value="requisition">
|
<h4 class="page-title">Supplier Listing</h4>
|
||||||
<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>
|
||||||
<div class="col-xs-12 col-md-6 text-right">
|
</div>
|
||||||
|
<div class="col-6 text-right">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<a class="btn btn-success" href="<?php echo base_url(); ?>addsupplier">Add New Supplier</a>
|
<a class="btn btn-success" href="<?php echo base_url(); ?>addsupplier">Add New Supplier</a>
|
||||||
<a class="btn btn-success" href="<?php echo base_url(); ?>exportsupplier">Export Supplier Details <i class="fa fa-download" aira-hidden="true"></i></a>
|
<a class="btn btn-success" href="<?php echo base_url(); ?>exportsupplier">Export Supplier Details <i class="fa fa-download" aira-hidden="true"></i></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-12">
|
<div class="col-12">
|
||||||
<table class="table table-bordered table-hover" id="datatable" style="background-color:#fff;font-size:11px !important;">
|
<div class="card">
|
||||||
<thead style="background-color: #ddd;">
|
<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 class="table dt-responsive nowrap w-100" id="datatable" >
|
||||||
|
<thead >
|
||||||
<tr>
|
<tr>
|
||||||
<th style="width:75px">Created Date</th>
|
<th style="width:75px">Created Date</th>
|
||||||
<th>Supplier ID</th>
|
<th>Supplier ID</th>
|
||||||
@ -131,7 +124,7 @@
|
|||||||
<td><?php if ($record->IsActive == 0) {
|
<td><?php if ($record->IsActive == 0) {
|
||||||
echo "Deactived";
|
echo "Deactived";
|
||||||
} else { ?>
|
} else { ?>
|
||||||
<a onclick="deletesupplier('<?php echo $record->SupplierID; ?>')"><i class="fa fa-trash"></i> </a>
|
<a onclick="deletesupplier('<?php echo $record->SupplierID; ?>')"><i class="fa fa-trash" style="color:#02a8b5;"></i> </a>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -141,13 +134,15 @@
|
|||||||
?>
|
?>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
</div> <!-- end card body-->
|
||||||
|
</div> <!-- end card -->
|
||||||
|
</div><!-- end col-->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div> <!-- container -->
|
||||||
|
</div> <!-- content -->
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript" src="<?php echo base_url(); ?>public/assets/js/common.js" charset="utf-8"></script>
|
<script type="text/javascript" src="<?php echo base_url(); ?>public/assets/js/common.js" charset="utf-8"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
// $(function () {
|
// $(function () {
|
||||||
@ -189,77 +184,78 @@
|
|||||||
var dateSplit = date.split('-');
|
var dateSplit = date.split('-');
|
||||||
return (dateSplit[2] + dateSplit[1] + dateSplit[0]) * 1;
|
return (dateSplit[2] + dateSplit[1] + dateSplit[0]) * 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Initialize the DataTable
|
// Initialize the DataTable
|
||||||
var table = $('#datatable').DataTable({
|
var table = $('#datatable').DataTable({
|
||||||
"paging": true,
|
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
|
||||||
"lengthChange": true,
|
buttons: [
|
||||||
"searching": true,
|
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
|
||||||
"ordering": true,
|
|
||||||
"columnDefs": [{
|
|
||||||
"targets": 0,
|
|
||||||
"type": "date-eu"
|
|
||||||
}],
|
|
||||||
"aaSorting": [
|
|
||||||
[0, "desc"]
|
|
||||||
],
|
],
|
||||||
"info": true,
|
pageLength: 10, // Default rows per page
|
||||||
"autoWidth": true,
|
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
|
||||||
"pageLength": 10,
|
responsive: true, // Responsive table
|
||||||
"lengthMenu": [10, 25, 50, 100],
|
order: [[0, 'desc']], // Default ordering (column index 0, descending)
|
||||||
|
language: {
|
||||||
});
|
paginate: {
|
||||||
|
next: '<i class="fas fa-angle-right"></i>', // Next button icon
|
||||||
// Initialize the datepickers
|
previous: '<i class="fas fa-angle-left"></i>' // Previous button icon
|
||||||
$("#fromDate").datepicker({
|
}
|
||||||
dateFormat: 'dd-mm-yy',
|
|
||||||
onSelect: function(selectedDate) {
|
|
||||||
var minDate = $(this).datepicker("getDate");
|
|
||||||
$("#toDate").datepicker("option", "minDate", minDate);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#toDate").datepicker({
|
// Date range filter function
|
||||||
dateFormat: 'dd-mm-yy',
|
$.fn.dataTable.ext.search.push(
|
||||||
onSelect: function(selectedDate) {
|
function(settings, data, dataIndex) {
|
||||||
var maxDate = $(this).datepicker("getDate");
|
var fromDate = $('#fromDate').val();
|
||||||
$("#fromDate").datepicker("option", "maxDate", maxDate);
|
var toDate = $('#toDate').val();
|
||||||
|
|
||||||
|
if (!fromDate || !toDate) {
|
||||||
|
return true; // If no dates selected, don't filter
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var dateStr = data[0]; // 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").submit(function(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
table.draw(); // Redraw the table to apply the filter
|
||||||
});
|
});
|
||||||
|
|
||||||
// Reset button functionality
|
// Reset button functionality
|
||||||
$("#resetButton").click(function() {
|
$("#resetButton").click(function() {
|
||||||
$("#fromDate").datepicker("setDate", null);
|
$("#fromDate").val('');
|
||||||
$("#toDate").datepicker("setDate", null);
|
$("#toDate").val('');
|
||||||
$("#toDate").datepicker("option", "minDate", null);
|
table.draw(); // Redraw the table to clear the filter
|
||||||
$("#fromDate").datepicker("option", "maxDate", null);
|
|
||||||
table.draw();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Date range filter
|
// Automatically focus and open the To Date picker when From Date is selected
|
||||||
$.fn.dataTable.ext.search.push(
|
document.getElementById('fromDate').addEventListener('change', function() {
|
||||||
|
var fromDate = this.value;
|
||||||
|
var toDateInput = document.getElementById('toDate');
|
||||||
|
|
||||||
function(settings, data, dataIndex) {
|
// Set the min attribute of the To Date input to the selected From Date
|
||||||
var fromDate = $("#fromDate").datepicker("getDate");
|
toDateInput.min = fromDate;
|
||||||
var toDate = $("#toDate").datepicker("getDate");
|
|
||||||
|
|
||||||
var dateStr = data[0]; // Assuming the date is in the first column
|
// Optionally reset the To Date input if the current value is before the new min date
|
||||||
|
if (toDateInput.value < fromDate) {
|
||||||
// Convert dateStr to Date object
|
toDateInput.value = fromDate;
|
||||||
var dateParts = dateStr.split("-");
|
|
||||||
var date = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]); // Convert dd-mm-yyyy to Date object
|
|
||||||
|
|
||||||
if (!fromDate || !toDate) {
|
|
||||||
return true; // No filter if dates are not selected
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return date >= fromDate && date <= toDate;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
// Handle form submission
|
|
||||||
$("#DateRangeFilter").submit(function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
table.draw();
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
@ -37,26 +37,85 @@
|
|||||||
color: rgb(173, 3, 23);
|
color: rgb(173, 3, 23);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
<style>
|
||||||
|
.modal
|
||||||
|
{
|
||||||
|
padding-right:25% ! important;
|
||||||
|
}
|
||||||
|
.num{
|
||||||
|
text-align:right;
|
||||||
|
}
|
||||||
|
.modal-content
|
||||||
|
{
|
||||||
|
width: 800px ! important;
|
||||||
|
}
|
||||||
|
th {
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
.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-page">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<!-- Start Content-->
|
<!-- Start Content-->
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<!-- start page title -->
|
<!-- start page title -->
|
||||||
|
<div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-6">
|
||||||
<div class="page-title-box page-title-box-alt">
|
<div class="page-title-box page-title-box-alt">
|
||||||
<h4><?= "Transporter Details"; ?></h4>
|
<h4 class="page-title">Transporter Details</h4>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-6 text-right">
|
||||||
<a data-toggle="modal" href="#transporterwizard" data-id="0" data-name="" class="btn btn-success">Add New Transporter</a> </div>
|
<a data-toggle="modal" href="#transporterwizard" data-id="0" data-name="" class="btn btn-success">Add New Transporter</a> </div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<!-- end page title -->
|
|
||||||
<!-- Form row -->
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="card">
|
<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">
|
<div class="card-body">
|
||||||
<table id="datatable-buttons" class="table dt-responsive nowrap w-100">
|
<table id="transporter_list" class="table dt-responsive nowrap w-100">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Create Date</th>
|
<th>Create Date</th>
|
||||||
@ -77,8 +136,8 @@
|
|||||||
$time = $createdat->format('h:i A');
|
$time = $createdat->format('h:i A');
|
||||||
?>
|
?>
|
||||||
<tr>
|
<tr>
|
||||||
<td align="right"><?php echo $date; ?></td>
|
<td><?php echo $date; ?></td>
|
||||||
<td align="right"><?php echo $time; ?></td>
|
<td><?php echo $time; ?></td>
|
||||||
<td><?php echo $record->id ?></td>
|
<td><?php echo $record->id ?></td>
|
||||||
<td><?php echo $record->name ?></td>
|
<td><?php echo $record->name ?></td>
|
||||||
<td><?php echo $record->FirstName ?></td>
|
<td><?php echo $record->FirstName ?></td>
|
||||||
@ -106,9 +165,11 @@
|
|||||||
</div> <!-- end card -->
|
</div> <!-- end card -->
|
||||||
</div><!-- end col-->
|
</div><!-- end col-->
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div> <!-- container -->
|
</div> <!-- container -->
|
||||||
</div> <!-- content -->
|
</div> <!-- content -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- for Add and edit Modal -->
|
<!-- for Add and edit Modal -->
|
||||||
<div id="transporterwizard" class="modal fade" tabindex="-1" role="dialog"
|
<div id="transporterwizard" class="modal fade" tabindex="-1" role="dialog"
|
||||||
aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;">
|
aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;">
|
||||||
@ -191,9 +252,10 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
|
||||||
<script>
|
$(document).ready(function() {
|
||||||
$('#datatable-buttons').DataTable({
|
// Initialize the DataTable
|
||||||
|
var table = $('#transporter_list').DataTable({
|
||||||
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
|
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
|
||||||
buttons: [
|
buttons: [
|
||||||
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
|
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
|
||||||
@ -201,7 +263,7 @@
|
|||||||
pageLength: 10, // Default rows per page
|
pageLength: 10, // Default rows per page
|
||||||
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
|
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
|
||||||
responsive: true, // Responsive table
|
responsive: true, // Responsive table
|
||||||
order: [[0, 'desc']], // Default ordering (column index 0, ascending)
|
order: [[0, 'desc']], // Default ordering (column index 0, descending)
|
||||||
language: {
|
language: {
|
||||||
paginate: {
|
paginate: {
|
||||||
next: '<i class="fas fa-angle-right"></i>', // Next button icon
|
next: '<i class="fas fa-angle-right"></i>', // Next button icon
|
||||||
@ -209,4 +271,60 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 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[0]; // 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").submit(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>
|
</script>
|
||||||
@ -36,11 +36,23 @@
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<div class="content-wrapper">
|
|
||||||
|
|
||||||
<section class="content">
|
<div class="content-page">
|
||||||
|
<div class="content">
|
||||||
|
<!-- Start Content-->
|
||||||
|
<div class="container-fluid">
|
||||||
|
<!-- start page title -->
|
||||||
|
<div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-6">
|
||||||
|
<div class="page-title-box page-title-box-alt">
|
||||||
|
<h4 class="page-title">User Listing</h4>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-6 text-right">
|
||||||
|
<a class="btn btn-success" href="<?php echo base_url(); ?>addNew">Add New User</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<?php
|
<?php
|
||||||
helper('form');
|
helper('form');
|
||||||
$error = session()->getFlashdata('error');
|
$error = session()->getFlashdata('error');
|
||||||
@ -54,48 +66,25 @@
|
|||||||
echo show_alert($type, $success);
|
echo show_alert($type, $success);
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-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 class="card">
|
||||||
?> </div>
|
<form class="Date-filter-form" id="DateRangeFilter" style="margin-top: 14px;margin-bottom: -11px;margin-left: 33px;">
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="box">
|
|
||||||
<div class="box-header">
|
|
||||||
<center><b>
|
|
||||||
<h3 class="box-title">User Listing</h3>
|
|
||||||
</b></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">
|
<input type="hidden" name="table" value="requisition">
|
||||||
<label for="fromDate">From:</label>
|
<label for="fromDate">From:</label>
|
||||||
<input type="text" id="fromDate" name="fromDate" placeholder="Select From Date" autocomplete="off" required>
|
<input class="form-control date_range" type="date" id="fromDate" name="fromDate" placeholder="Select From Date" autocomplete="off" required>
|
||||||
|
|
||||||
<label for="toDate">To:</label>
|
<label for="toDate">To:</label>
|
||||||
<input type="text" id="toDate" name="toDate" placeholder="Select To Date" autocomplete="off" required>
|
<input class="form-control date_range" type="date" id="toDate" name="toDate" placeholder="Select To Date" autocomplete="off" required>
|
||||||
|
|
||||||
<button type="submit">Search</button>
|
<button type="submit" class="range_search_button"><i class="fe-search" aria-hidden="true" class="icon-button" title="Search"></i></button>
|
||||||
<i class="fa fa-repeat" aria-hidden="true" class="icon-button" id="resetButton" title="Reset"></i>
|
<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>
|
<div class="error" id="error"></div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
<div class="card-body">
|
||||||
<div class="col-xs-12 col-md-6 text-right">
|
<table id="user_list_table" class="table dt-responsive nowrap w-100">
|
||||||
<div class="form-group">
|
<thead>
|
||||||
<a class="btn btn-success" href="<?php echo base_url(); ?>addNew">Add New User</a>
|
<tr> <th>Created Date</th>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12">
|
|
||||||
<table class="table table-hover table-bordered" id="datatable" style="background-color:#fff;font-size:12px;">
|
|
||||||
<thead style="background-color: #ddd;">
|
|
||||||
<tr>
|
|
||||||
<th>Created Date</th>
|
|
||||||
<!-- <th>User Id</th> -->
|
<!-- <th>User Id</th> -->
|
||||||
<th>User Name</th>
|
<th>User Name</th>
|
||||||
<th>Email</th>
|
<th>Email</th>
|
||||||
@ -126,7 +115,7 @@
|
|||||||
<td><?php echo $record->DepartmentName ?></td>
|
<td><?php echo $record->DepartmentName ?></td>
|
||||||
<td><?php echo $record->role ?></td>
|
<td><?php echo $record->role ?></td>
|
||||||
<td>
|
<td>
|
||||||
<a href="<?php echo base_url() . 'user/editOld?UID=' . $record->userId . '&EMPID=' . $record->EmpID; ?>"><i class="fa fa-pencil"></i> </a>
|
<a href="<?php echo base_url() . 'user/editOld?UID=' . $record->userId . '&EMPID=' . $record->EmpID; ?>"><i class="fas fa-pencil-alt"></i> </a>
|
||||||
|
|
||||||
<a onclick="deleteUser(<?php echo $record->userId; ?>)"><i class="fa fa-trash"></i> </a>
|
<a onclick="deleteUser(<?php echo $record->userId; ?>)"><i class="fa fa-trash"></i> </a>
|
||||||
</td>
|
</td>
|
||||||
@ -135,15 +124,18 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
</div> <!-- end card body-->
|
||||||
|
</div> <!-- end card -->
|
||||||
|
</div><!-- end col-->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div> <!-- container -->
|
||||||
|
</div> <!-- content -->
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript" src="<?php echo base_url(); ?>public/assets/js/common.js" charset="utf-8"></script>
|
<script type="text/javascript" src="<?php echo base_url(); ?>public/assets/js/common.js" charset="utf-8"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
// $(function () {
|
// $(function () {
|
||||||
@ -194,76 +186,76 @@
|
|||||||
};
|
};
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
// Initialize the DataTable
|
// Initialize the DataTable
|
||||||
var table = $('#datatable').DataTable({
|
var table = $('#user_list_table').DataTable({
|
||||||
"paging": true,
|
dom: 'Blfrtip', // Buttons, length menu, filter, table, information, pagination
|
||||||
"lengthChange": true,
|
buttons: [
|
||||||
"searching": true,
|
'copy', 'csv', 'excel', 'pdf', 'print' // Export buttons
|
||||||
"ordering": true,
|
|
||||||
"columnDefs": [{
|
|
||||||
"targets": 0,
|
|
||||||
"type": "date-eu"
|
|
||||||
}],
|
|
||||||
"aaSorting": [
|
|
||||||
[0, "desc"]
|
|
||||||
],
|
],
|
||||||
"info": true,
|
pageLength: 10, // Default rows per page
|
||||||
"autoWidth": true,
|
lengthMenu: [ [10, 20, 30, 50, -1], [10, 20, 30, 50, "All"] ], // Rows per page options
|
||||||
"pageLength": 10,
|
responsive: true, // Responsive table
|
||||||
"lengthMenu": [10, 25, 50, 100],
|
order: [[0, 'desc']], // Default ordering (column index 0, descending)
|
||||||
|
language: {
|
||||||
});
|
paginate: {
|
||||||
|
next: '<i class="fas fa-angle-right"></i>', // Next button icon
|
||||||
// Initialize the datepickers
|
previous: '<i class="fas fa-angle-left"></i>' // Previous button icon
|
||||||
$("#fromDate").datepicker({
|
}
|
||||||
dateFormat: 'dd-mm-yy',
|
|
||||||
onSelect: function(selectedDate) {
|
|
||||||
var minDate = $(this).datepicker("getDate");
|
|
||||||
$("#toDate").datepicker("option", "minDate", minDate);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#toDate").datepicker({
|
// Date range filter function
|
||||||
dateFormat: 'dd-mm-yy',
|
$.fn.dataTable.ext.search.push(
|
||||||
onSelect: function(selectedDate) {
|
function(settings, data, dataIndex) {
|
||||||
var maxDate = $(this).datepicker("getDate");
|
var fromDate = $('#fromDate').val();
|
||||||
$("#fromDate").datepicker("option", "maxDate", maxDate);
|
var toDate = $('#toDate').val();
|
||||||
|
|
||||||
|
if (!fromDate || !toDate) {
|
||||||
|
return true; // If no dates selected, don't filter
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var dateStr = data[0]; // 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").submit(function(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
table.draw(); // Redraw the table to apply the filter
|
||||||
});
|
});
|
||||||
|
|
||||||
// Reset button functionality
|
// Reset button functionality
|
||||||
$("#resetButton").click(function() {
|
$("#resetButton").click(function() {
|
||||||
$("#fromDate").datepicker("setDate", null);
|
$("#fromDate").val('');
|
||||||
$("#toDate").datepicker("setDate", null);
|
$("#toDate").val('');
|
||||||
$("#toDate").datepicker("option", "minDate", null);
|
table.draw(); // Redraw the table to clear the filter
|
||||||
$("#fromDate").datepicker("option", "maxDate", null);
|
|
||||||
table.draw();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Date range filter
|
// Automatically focus and open the To Date picker when From Date is selected
|
||||||
$.fn.dataTable.ext.search.push(
|
document.getElementById('fromDate').addEventListener('change', function() {
|
||||||
|
var fromDate = this.value;
|
||||||
|
var toDateInput = document.getElementById('toDate');
|
||||||
|
|
||||||
function(settings, data, dataIndex) {
|
// Set the min attribute of the To Date input to the selected From Date
|
||||||
var fromDate = $("#fromDate").datepicker("getDate");
|
toDateInput.min = fromDate;
|
||||||
var toDate = $("#toDate").datepicker("getDate");
|
|
||||||
|
|
||||||
var dateStr = data[0]; // Assuming the date is in the first column
|
// Optionally reset the To Date input if the current value is before the new min date
|
||||||
|
if (toDateInput.value < fromDate) {
|
||||||
// Convert dateStr to Date object
|
toDateInput.value = fromDate;
|
||||||
var dateParts = dateStr.split("-");
|
|
||||||
var date = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]); // Convert dd-mm-yyyy to Date object
|
|
||||||
|
|
||||||
if (!fromDate || !toDate) {
|
|
||||||
return true; // No filter if dates are not selected
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return date >= fromDate && date <= toDate;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
// Handle form submission
|
|
||||||
$("#DateRangeFilter").submit(function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
table.draw();
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
@ -163,13 +163,13 @@
|
|||||||
<form class="Date-filter-form" id="DateRangeFilter" style="margin-top: 14px;margin-bottom: -11px;margin-left: 33px;">
|
<form class="Date-filter-form" id="DateRangeFilter" style="margin-top: 14px;margin-bottom: -11px;margin-left: 33px;">
|
||||||
<input type="hidden" name="table" value="requisition">
|
<input type="hidden" name="table" value="requisition">
|
||||||
<label for="fromDate">From:</label>
|
<label for="fromDate">From:</label>
|
||||||
<input type="text" id="fromDate" name="fromDate" placeholder="Select From Date" autocomplete="off" required>
|
<input class="form-control date_range" type="date" id="fromDate" name="fromDate" placeholder="Select From Date" autocomplete="off" required>
|
||||||
|
|
||||||
<label for="toDate">To:</label>
|
<label for="toDate">To:</label>
|
||||||
<input type="text" id="toDate" name="toDate" placeholder="Select To Date" autocomplete="off" required>
|
<input class="form-control date_range" type="date" id="toDate" name="toDate" placeholder="Select To Date" autocomplete="off" required>
|
||||||
|
|
||||||
<button type="submit">Search</button>
|
<button type="submit" class="range_search_button"><i class="fe-search" aria-hidden="true" class="icon-button" title="Search"></i></button>
|
||||||
<i class="fa fa-repeat" aria-hidden="true" class="icon-button" id="resetButton" title="Reset"></i>
|
<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>
|
<div class="error" id="error"></div>
|
||||||
</form>
|
</form>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
@ -216,8 +216,16 @@
|
|||||||
<i class="fa fa-download" style="text-align: center;"></i>
|
<i class="fa fa-download" style="text-align: center;"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
<?php if (!empty($record->FilePath)) { ?>
|
||||||
|
<!-- <a target="_blank" data-toggle="modal" data-target="#Fileshow" data-id="<%=index%>" title="Files" data-igrno="<?php echo $record->IGRNO ?>" data-pono="<?php echo $record->PONO ?>"><i class="fa fa-clone" style="text-align: center;"></i></a> -->
|
||||||
|
<?php } else if (!empty($record->file)) { ?>
|
||||||
|
<!-- <a target="_blank" data-toggle="modal" data-target="#Fileshow" data-id="<%=index%>" title="Files" data-igrno="<?php echo $record->IGRNO ?>" data-pono="<?php echo $record->PONO ?>"><i class="fa fa-clone" style="text-align: center;"></i></a> -->
|
||||||
|
<?php } else { ?>
|
||||||
|
<!-- <a target="_blank" data-toggle="modal" data-target="#Fileshow" data-id="<%=index%>" title="Files" data-igrno="<?php echo $record->IGRNO ?>" data-pono="<?php echo $record->PONO ?>"><i class="fa fa-clone" style="text-align: center;"></i></a> -->
|
||||||
|
<?php } ?>
|
||||||
|
|
||||||
<a target="_blank" data-toggle="modal" data-target="#Historyshow" data-id="<%=index%>" title="IGR History" data-igrno="<?php echo $record->IGRNO ?>" data-pono="<?php echo $record->PONO ?>">
|
<a target="_blank" data-toggle="modal" data-target="#Historyshow" data-id="<%=index%>" title="IGR History" data-igrno="<?php echo $record->IGRNO ?>" data-pono="<?php echo $record->PONO ?>">
|
||||||
<i class="fa fa-history" style="text-align: center;"></i>
|
<i class="fa fa-history" style="text-align: center;color:#02a8b5"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
@ -1484,103 +1492,8 @@
|
|||||||
var dateSplit = date.split('-');
|
var dateSplit = date.split('-');
|
||||||
return (dateSplit[2] + dateSplit[1] + dateSplit[0]) * 1;
|
return (dateSplit[2] + dateSplit[1] + dateSplit[0]) * 1;
|
||||||
};
|
};
|
||||||
// Initialize the DataTable
|
|
||||||
var table = $('#Inwardgateregistertable').DataTable({
|
|
||||||
"paging": true,
|
|
||||||
"lengthChange": true,
|
|
||||||
"searching": true,
|
|
||||||
"ordering": true,
|
|
||||||
"columnDefs": [{
|
|
||||||
"targets": 0,
|
|
||||||
"type": "date-eu"
|
|
||||||
}],
|
|
||||||
"aaSorting": [
|
|
||||||
[0, "desc"]
|
|
||||||
],
|
|
||||||
"info": true,
|
|
||||||
"autoWidth": true,
|
|
||||||
"pageLength": 10,
|
|
||||||
"lengthMenu": [10, 25, 50, 100],
|
|
||||||
"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',
|
|
||||||
text: 'Export to Excel',
|
|
||||||
title: 'Inward Gate Register',
|
|
||||||
exportOptions: {
|
|
||||||
columns: ':visible:not(:last-child)' // Exclude first and last columns
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
extend: 'pdfHtml5',
|
|
||||||
text: 'Export to PDF',
|
|
||||||
title: 'Inward Gate Register',
|
|
||||||
exportOptions: {
|
|
||||||
columns: ':visible:not(:last-child)' // Exclude first and last columns
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Initialize the datepickers
|
|
||||||
$("#fromDate").datepicker({
|
|
||||||
dateFormat: 'dd-mm-yy',
|
|
||||||
onSelect: function(selectedDate) {
|
|
||||||
var minDate = $(this).datepicker("getDate");
|
|
||||||
$("#toDate").datepicker("option", "minDate", minDate);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#toDate").datepicker({
|
|
||||||
dateFormat: 'dd-mm-yy',
|
|
||||||
onSelect: function(selectedDate) {
|
|
||||||
var maxDate = $(this).datepicker("getDate");
|
|
||||||
$("#fromDate").datepicker("option", "maxDate", maxDate);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Reset button functionality
|
|
||||||
$("#resetButton").click(function() {
|
|
||||||
$("#fromDate").datepicker("setDate", null);
|
|
||||||
$("#toDate").datepicker("setDate", null);
|
|
||||||
$("#toDate").datepicker("option", "minDate", null);
|
|
||||||
$("#fromDate").datepicker("option", "maxDate", null);
|
|
||||||
table.draw();
|
|
||||||
});
|
|
||||||
|
|
||||||
// Date range filter
|
|
||||||
$.fn.dataTable.ext.search.push(
|
|
||||||
|
|
||||||
function(settings, data, dataIndex) {
|
|
||||||
var fromDate = $("#fromDate").datepicker("getDate");
|
|
||||||
var toDate = $("#toDate").datepicker("getDate");
|
|
||||||
|
|
||||||
var dateStr = data[0]; // Assuming the date is in the first column
|
|
||||||
|
|
||||||
// Convert dateStr to Date object
|
|
||||||
var dateParts = dateStr.split("-");
|
|
||||||
var date = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]); // Convert dd-mm-yyyy to Date object
|
|
||||||
|
|
||||||
if (!fromDate || !toDate) {
|
|
||||||
return true; // No filter if dates are not selected
|
|
||||||
}
|
|
||||||
|
|
||||||
return date >= fromDate && date <= toDate;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
// Handle form submission
|
|
||||||
$("#DateRangeFilter").submit(function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
table.draw();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
|
||||||
function appendExistingFilesFileds(data){
|
function appendExistingFilesFileds(data){
|
||||||
const base_url = '<?php echo base_url(); ?>';
|
const base_url = '<?php echo base_url(); ?>';
|
||||||
var filePath = data != null && data != '' ? data.FilePath : '';
|
var filePath = data != null && data != '' ? data.FilePath : '';
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 157 KiB After Width: | Height: | Size: 157 KiB |
Loading…
Reference in New Issue
Block a user