feat: product analytic

This commit is contained in:
efrilm
2025-08-06 12:32:53 +07:00
parent 648a4f5eb4
commit 91335ad8db
10 changed files with 749 additions and 204 deletions
+10 -10
View File
@@ -14,7 +14,7 @@ import 'package:enaklo_pos/presentation/report/blocs/summary/summary_bloc.dart';
import 'package:enaklo_pos/presentation/report/blocs/transaction_report/transaction_report_bloc.dart';
import 'package:enaklo_pos/presentation/report/widgets/item_sales_report_widget.dart';
import 'package:enaklo_pos/presentation/report/widgets/payment_method_report_widget.dart';
import 'package:enaklo_pos/presentation/report/widgets/product_sales_chart_widget.dart';
import 'package:enaklo_pos/presentation/report/widgets/product_analytic_widget.dart';
import 'package:enaklo_pos/presentation/report/widgets/report_menu.dart';
import 'package:enaklo_pos/presentation/report/widgets/report_title.dart';
import 'package:flutter/material.dart';
@@ -139,19 +139,19 @@ class _ReportPageState extends State<ReportPage> {
isActive: selectedMenu == 1,
),
ReportMenu(
label: 'Chart Penjualan Produk',
label: 'Laporan Penjualan Produk',
subtitle:
'Grafik visual penjualan produk untuk analisa performa penjualan.',
'Laporan penjualan berdasarkan masing-masing produk.',
icon: Icons.bar_chart_outlined,
onPressed: () {
selectedMenu = 2;
title = 'Chart Penjualan Produk';
title = 'Laporan Penjualan Produk';
setState(() {});
context.read<ProductSalesBloc>().add(
ProductSalesEvent.getProductSales(
DateFormatter.formatDateTime(
fromDate),
DateFormatter.formatDateTime(toDate)),
fromDate,
toDate,
),
);
},
isActive: selectedMenu == 2,
@@ -262,12 +262,12 @@ class _ReportPageState extends State<ReportPage> {
error: (message) {
return Text(message);
},
success: (productSales) {
return ProductSalesChartWidgets(
success: (products) {
return ProductAnalyticsWidget(
title: title,
searchDateFormatted:
searchDateFormatted,
productSales: productSales,
productData: products,
);
},
);