Merge branch 'master' of bitbucket.org:jubilian/nhance_partner

This commit is contained in:
sanjeev.p 2026-04-04 15:05:11 +05:30
commit 59c9c4eeea

View File

@ -12,6 +12,7 @@ import '../../layouts/responsive_layout.dart';
import '../../providers/manager_provider.dart';
import '../../providers/userRoleProvider.dart';
import '../../themes/indicators/date_field_theme.dart';
import '../../themes/indicators/export_btn.dart';
import '../../themes/indicators/search_field_theme.dart';
/// Payout report layout and styling aligned with [policylist] policy list screen.
@ -692,18 +693,68 @@ class _PayoutReportScreenState extends ConsumerState<PayoutReportScreen> {
);
}
void _onExport() {
if (!_hasSearched || _filtered.isEmpty) {
Future<void> _onExport() async {
if (!_hasSearched) {
ToastHelper.showWarningToast(
context,
'Load report data with Search before exporting.',
);
return;
}
ToastHelper.showInfoToast(
context,
'Export can be wired to the same filters as the report when needed.',
);
if (_filtered.isEmpty) {
ToastHelper.showWarningToast(
context,
'No rows to export. Adjust search or filters, or run Search again.',
);
return;
}
final stamp = DateFormat('yyyyMMdd_HHmmss').format(DateTime.now());
final fileName = 'payout_report_$stamp';
// [ExcelExporter] reverses the list before writing; pass reversed filtered
// rows so the file order matches the on-screen table (top bottom).
final exportInput =
_filtered.reversed.map((r) => Map<String, dynamic>.from(r)).toList();
try {
await ExcelExporter.exportToExcel(
sheetName: 'Payout Report',
fileName: fileName,
data: exportInput,
displayHeaders: const [
'S No',
'Policy No',
'Reg No',
'Weight',
'Fuel Type',
'Vehicle Type',
'Premium',
'Commission Amount',
'UTR No',
'Received',
],
keys: const [
'sno',
'policy_no',
'reg_no',
'weight',
'fuel_type',
'vehicle_type',
'premium',
'commission_amount',
'utr_no',
'received_or_not',
],
);
if (mounted) {
ToastHelper.showSuccessToast(context, 'Export finished');
}
} catch (e) {
if (mounted) {
ToastHelper.showErrorToast(context, 'Export failed: $e');
}
}
}
Widget _buildDateField({