added client RA bill wise download report

This commit is contained in:
2026-01-13 15:58:52 +05:30
parent 844dcbee81
commit 2cbb565380
3 changed files with 191 additions and 61 deletions

View File

@@ -2,7 +2,7 @@
{% block content %}
<div class="container mt-4">
<h2 class="mb-4">Generate Subcontractor Report</h2>
<h2 class="mb-4 text-center">Generate Subcontractor Report</h2>
{% with messages = get_flashed_messages(with_categories=true) %}
{% if messages %}
@@ -11,12 +11,11 @@
{{ message }}
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
</div>
)
{% endfor %}
{% endif %}
{% endwith %}
<div class="card p-4 shadow-sm">
<div class="card p-4 shadow-sm mx-auto" style="max-width: 600px;">
<form method="POST">
<div class="mb-3">
<label class="form-label fw-semibold">Select Subcontractor</label>
@@ -28,13 +27,38 @@
</select>
</div>
<div class="mb-3">
<label class="form-label fw-semibold">RA Bill Number</label>
<input type="text" name="ra_bill_no" class="form-control" placeholder="e.g. 01" required>
<div class="form-check form-switch mb-3">
<input class="form-check-input" type="checkbox" name="download_all" value="true" id="downloadAllSwitch" onchange="toggleRAInput(this)">
<label class="form-check-label fw-bold text-primary" for="downloadAllSwitch">
Download All RA Bills for this Contractor
</label>
</div>
<button type="submit" class="btn btn-primary w-100">Generate Excel Report</button>
<div class="mb-4" id="ra_bill_container">
<label class="form-label fw-semibold">RA Bill Number</label>
<input type="text" name="ra_bill_no" id="ra_bill_input" class="form-control" placeholder="e.g. 01">
<small class="text-muted">Required if "Download All" is off.</small>
</div>
<button type="submit" class="btn btn-primary w-100 py-2">
<i class="fas fa-download me-2"></i>Generate Excel Report
</button>
</form>
</div>
</div>
<script>
function toggleRAInput(checkbox) {
const input = document.getElementById('ra_bill_input');
const container = document.getElementById('ra_bill_container');
if (checkbox.checked) {
input.value = "";
input.disabled = true;
container.style.opacity = "0.5";
} else {
input.disabled = false;
container.style.opacity = "1";
}
}
</script>
{% endblock %}