Browse Source

added common page for all food scheme and distribution reports pages

master
yoganandhank 3 months ago
parent
commit
dc4799a609
  1. 5
      src/main/java/com/gcc/commissionerreview/controller/MainController.java
  2. 436
      src/main/resources/templates/modules/foodschemeanddistribution.html

5
src/main/java/com/gcc/commissionerreview/controller/MainController.java

@ -373,4 +373,9 @@ public class MainController {
return "modules/communityreport";
}
@GetMapping("/foodschemeanddistribution")
public String foodschemereport(Model model) {
return "modules/foodschemeanddistribution";
}
}

436
src/main/resources/templates/modules/foodschemeanddistribution.html

@ -0,0 +1,436 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<title>Food Scheme And Distribution Report</title>
<!-- Bootstrap 5 CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- FontAwesome CSS for icons -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
<!-- DataTables CSS -->
<link href="https://cdn.datatables.net/1.13.4/css/jquery.dataTables.min.css" rel="stylesheet" />
<link href="https://cdn.datatables.net/buttons/2.3.6/css/buttons.dataTables.min.css" rel="stylesheet" />
<link href="https://cdn.datatables.net/fixedcolumns/4.2.2/css/fixedColumns.dataTables.min.css" rel="stylesheet" />
<style>
body {
background-color: #f8f9fa;
}
.report-container {
overflow-x: auto;
}
/*#hallBookingTable {
width: 100% !important;
}*/
.page-header-title h4 {
margin: 20px 0;
text-align: center;
font-weight: bold;
color: #003366;
text-transform: uppercase;
}
.filter-section {
background: #fff;
padding: 15px;
border-radius: 8px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
margin-bottom: 20px;
}
.report-container {
background: #fff;
padding: 15px;
border-radius: 8px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}
/* table.dataTable th,
table.dataTable td {
text-align: center;
vertical-align: middle;
border: 1px solid #dee2e6 !important;
white-space: nowrap;
}*/
.dashboard-card {
height: 180px;
}
.dashboard-card .card-body {
display: flex;
flex-direction: column;
justify-content: center;
}
.category-card .card-body {
display: block;
overflow-y: auto;
height: 120px;
}
thead th {
background-color: #003366 !important;
color: white !important;
}
/* Horizontal Scroll */
.dataTables_scrollBody {
overflow-x: auto !important;
overflow-y: auto !important;
}
/* Fixed Column Background */
table.dataTable tbody tr td.dtfc-fixed-left {
background-color: #fff !important;
}
table.dataTable.table-striped tbody tr:nth-of-type(odd) td.dtfc-fixed-left {
background-color: #f9f9f9 !important;
}
.dataTables_scrollBody {
overflow-x: auto !important;
overflow-y: auto !important;
}
.select2-container {
width: 100% !important;
}
.select2-results__options {
max-height: 400px !important;
/* increase height */
}
.select2-dropdown {
z-index: 9999 !important;
}
/*.dataTables_scrollHeadInner,
#hallBookingTable {
width: max-content !important;
}*/
/* table.dataTable th,
table.dataTable td {
white-space: nowrap;
}*/
/* table.dataTable th,
table.dataTable td {
text-align: center;
vertical-align: middle;
border: 1px solid #dee2e6 !important;
}
#hallBookingTable th:nth-child(8),
#hallBookingTable td:nth-child(8) {
white-space: nowrap !important;
min-width: 180px;
}
#hallBookingTable th:nth-child(5),
#hallBookingTable td:nth-child(5) {
min-width: 220px;
max-width: 220px;
white-space: normal !important;
word-wrap: break-word;
word-break: break-word;
}
#hallBookingTable th:nth-child(20),
#hallBookingTable td:nth-child(20) {
width: 80px !important;
max-width: 80px !important;
min-width: 80px !important;
white-space: normal !important;
word-break: break-word !important;
}*/
.hall-name-wrap {
min-width: 220px !important;
max-width: 220px !important;
white-space: normal !important;
word-break: break-word;
}
.dashboard-card {
border: none;
border-radius: 12px;
min-height: 110px;
}
/* Total Buildings */
.building-card {
background: #E3F2FD;
color: #1565C0;
}
/* Total Bookings */
.booking-card {
background: #E8F5E9;
color: #2E7D32;
}
/* Total Revenue */
.revenue-card {
background: #FFF8E1;
color: #EF6C00;
}
.distribute-card {
background: #FFF8E1;
color: #c9431a;
}
.manage-card {
background: #FFF8E1;
color: #ac129a;
}
.dashboard-card h6 {
font-size: 18px;
font-weight: 600;
margin-bottom: 15px;
}
.dashboard-card h3 {
font-size: 42px;
font-weight: 700;
margin: 0;
}
#bookingTable th:nth-child(8),
#bookingTable td:nth-child(8) {
width: 50px !important;
min-width: 50px !important;
max-width: 50px !important;
text-align: center;
}
#bookingTable th:nth-child(9),
#bookingTable td:nth-child(9) {
width: 50px !important;
min-width: 50px !important;
max-width: 50px !important;
text-align: center;
}
/* #hallBookingTable th:not(:nth-child(4)),
#hallBookingTable td:not(:nth-child(4)) {
white-space: nowrap;
}*/
/* Wrap selected columns */
.wrap {
white-space: normal !important;
word-break: break-word;
line-height: 1.2;
text-align: center;
vertical-align: middle;
min-width: 110px;
}
#performanceTable thead tr:first-child th {
text-align: center;
vertical-align: middle;
background: #003366;
color: #fff;
}
#performanceTable thead tr:nth-child(2) th {
text-align: center;
vertical-align: middle;
background: #0d6efd;
color: #fff;
}
#performanceTable td {
text-align: center;
}
#performanceTable td:nth-child(2) {
text-align: left;
}
/* Scrollbar */
.dataTables_scrollBody::-webkit-scrollbar {
height: 8px;
}
.dataTables_scrollBody::-webkit-scrollbar-thumb {
background: #c1c1c1;
border-radius: 4px;
}
.dataTables_scrollBody::-webkit-scrollbar-track {
background: #f1f1f1;
}
</style>
</head>
<body>
<div class="container-fluid py-4">
<div class="page-header-title">
<h4> Food Scheme And Distribution Report</h4>
</div>
<div class="row mb-4">
<!-- Card 1 -->
<div class="col-md-4">
<div class="card dashboard-card building-card shadow" style="cursor:pointer;"
onclick="window.open('https://gccservices.in/commissionerreview/foodSchemeReport', '_blank');">
<div class="card-body text-center">
<h6>Food Scheme Report</h6>
</div>
</div>
</div>
<!-- Card 2 -->
<div class="col-md-4">
<div class="card dashboard-card booking-card shadow" style="cursor:pointer;"
onclick="window.open('https://gccservices.in/commissionerreview/driverreport', '_blank');">
<div class="card-body text-center">
<h6>Food Scheme Driver Report</h6>
</div>
</div>
</div>
<!-- Card 3 -->
<div class="col-md-4">
<div class="card dashboard-card revenue-card shadow" style="cursor:pointer;"
onclick="window.open('https://gccservices.in/commissionerreview/feedbackreport', '_blank');">
<div class="card-body text-center">
<h6>Food Scheme Feedback Report</h6>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card dashboard-card manage-card shadow" style="cursor:pointer;"
onclick="window.open('https://gccservices.in/commissionerreview/fooddistributionreport', '_blank');">
<div class="card-body text-center">
<h6>Food Distribution Report</h6>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card dashboard-card distribute-card shadow" style="cursor:pointer;"
onclick="window.open('https://gccservices.in/commissionerreview/fooddistributiondetailedreport', '_blank');">
<div class="card-body text-center">
<h6>Food Distribution Detailed Report</h6>
</div>
</div>
</div>
</div>
<!--<div class="col-md-3">
<div class="card bg-primary text-white shadow dashboard-card">
<div class="card-body text-center">
<h6>Total Buildings</h6>
<h3 id="totalBuildings">0</h3>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card bg-success text-white shadow dashboard-card">
<div class="card-body text-center">
<h6>Total Bookings</h6>
<h3 id="totalBookings">0</h3>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card bg-warning text-dark shadow dashboard-card">
<div class="card-body text-center">
<h6>Total Revenue</h6>
<h3 id="totalRevenue">0</h3>
</div>
</div>
</div>-->
<!-- Media Modal -->
<div class="modal fade" id="mediaModal" tabindex="-1" aria-labelledby="mediaModalLabel" aria-hidden="true"
style="z-index: 1060;">
<div class="modal-dialog modal-lg modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="mediaModalLabel">Media Viewer</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body text-center" id="mediaModalBody">
</div>
</div>
</div>
</div>
<div id="pageLoader"
style="display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.8); z-index: 9999; text-align: center;">
<div style="position: relative; top: 50%; transform: translateY(-50%);">
<div class="spinner-border text-primary" role="status" style="width: 3rem; height: 3rem;">
<span class="sr-only"></span>
</div>
<!-- Add the 'Please wait' text below the spinner -->
<p style="margin-top: 1rem; font-size: 1.2rem; color: #007bff;">Please wait...</p>
</div>
</div>
<!-- Scripts -->
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"></script>
<!-- DataTables JS -->
<script src="https://cdn.datatables.net/1.13.4/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.3.6/js/dataTables.buttons.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.3.6/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.3.6/js/buttons.print.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.2.7/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.2.7/vfs_fonts.js"></script>
<script src="https://cdn.jsdelivr.net/npm/xlsx@0.18.5/dist/xlsx.full.min.js"></script>
<script src="https://cdn.datatables.net/fixedcolumns/4.2.2/js/dataTables.fixedColumns.min.js"></script>
<!-- SweetAlert -->
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script th:inline="none">
</script>
</body>
</html>
Loading…
Cancel
Save