feat: profit loss

This commit is contained in:
efrilm
2025-08-06 13:38:49 +07:00
parent db06f0dd13
commit f067417ab2
9 changed files with 2394 additions and 1 deletions
+43 -1
View File
@@ -1,7 +1,9 @@
import 'dart:developer';
import 'package:enaklo_pos/core/extensions/build_context_ext.dart';
import 'package:enaklo_pos/presentation/report/blocs/profit_loss/profit_loss_bloc.dart';
import 'package:enaklo_pos/presentation/report/widgets/dashboard_analytic_widget.dart';
import 'package:enaklo_pos/presentation/report/widgets/profit_loss_widget.dart';
import 'package:enaklo_pos/presentation/sales/pages/sales_page.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:enaklo_pos/core/components/custom_date_picker.dart';
@@ -191,6 +193,23 @@ class _ReportPageState extends State<ReportPage> {
},
isActive: selectedMenu == 4,
),
ReportMenu(
label: 'Laporan untung rugi',
subtitle: 'Laporan untung rugi penjualan.',
icon: Icons.trending_down,
onPressed: () {
selectedMenu = 5;
title = 'Laporan untung rugi';
setState(() {});
context.read<ProfitLossBloc>().add(
ProfitLossEvent.getProfitLoss(
fromDate,
toDate,
),
);
},
isActive: selectedMenu == 5,
),
],
),
),
@@ -318,7 +337,30 @@ class _ReportPageState extends State<ReportPage> {
);
},
)
: const SizedBox.shrink()),
: selectedMenu == 5
? BlocBuilder<ProfitLossBloc,
ProfitLossState>(
builder: (context, state) {
return state.maybeWhen(
orElse: () => const Center(
child:
CircularProgressIndicator(),
),
error: (message) {
return Text(message);
},
success: (data) {
return ProfitLossWidget(
data: data,
title: title,
searchDateFormatted:
searchDateFormatted,
);
},
);
},
)
: const SizedBox.shrink()),
],
),
),