feat:更新美食记录表单
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_common/widget/chart.dart';
|
||||
import 'package:flutter_common/widget/common_widget.dart';
|
||||
import 'package:food_hub_app/provider/food_provider.dart';
|
||||
import 'package:food_hub_app/widgets/common/chart.dart';
|
||||
import 'package:food_hub_app/widgets/common/index.dart';
|
||||
import 'package:food_hub_app/widgets/stats/card.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
@@ -21,7 +21,7 @@ class _StatsPage extends State<StatsPage> {
|
||||
|
||||
// 初始化加载数据
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
context.read<FoodProvider>().refreshBlogStats();
|
||||
context.read<FoodProvider>().refreshFoodStats();
|
||||
});
|
||||
}
|
||||
|
||||
@@ -67,56 +67,6 @@ class _StatsPage extends State<StatsPage> {
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildRecordStats(FoodProvider provider) {
|
||||
return Column(
|
||||
children: [
|
||||
buildChartTitle(context: context, title: '记录统计'),
|
||||
const SizedBox(height: 3),
|
||||
buildChartDivider(context: context),
|
||||
const SizedBox(height: 3),
|
||||
Expanded(
|
||||
child: lineChart(
|
||||
context: context,
|
||||
xAxisName: '日期',
|
||||
yAxisName: '次数',
|
||||
unit: '次',
|
||||
data: provider.recordStats,
|
||||
),
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildCategoryStats(FoodProvider provider) {
|
||||
return Column(
|
||||
children: [
|
||||
buildChartTitle(context: context, title: '菜谱统计'),
|
||||
const SizedBox(height: 3),
|
||||
buildChartDivider(context: context),
|
||||
const SizedBox(height: 3),
|
||||
Expanded(
|
||||
child: pieChart(
|
||||
context: context,
|
||||
unit: '个',
|
||||
data: provider.categoryStats,
|
||||
),
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildRankStats(FoodProvider provider) {
|
||||
return Column(
|
||||
children: [
|
||||
buildChartTitle(context: context, title: '排行榜'),
|
||||
const SizedBox(height: 3),
|
||||
buildChartDivider(context: context),
|
||||
const SizedBox(height: 3),
|
||||
Expanded(child: rankChart(data: provider.rankStats, unit: '次')),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildContent(FoodProvider provider) {
|
||||
return Column(
|
||||
children: [
|
||||
@@ -124,17 +74,33 @@ class _StatsPage extends State<StatsPage> {
|
||||
SizedBox(height: 8),
|
||||
SizedBox(
|
||||
height: chartHeight,
|
||||
child: BuildCard(child: _buildRecordStats(provider)),
|
||||
child: CommonCard(
|
||||
child: LineChart(
|
||||
title: '记录统计',
|
||||
xAxisName: '日期',
|
||||
yAxisName: '次数',
|
||||
unit: '次',
|
||||
data: provider.recordStats,
|
||||
),
|
||||
),
|
||||
),
|
||||
SizedBox(height: 8),
|
||||
SizedBox(
|
||||
height: chartHeight,
|
||||
child: BuildCard(child: _buildCategoryStats(provider)),
|
||||
child: CommonCard(
|
||||
child: PieChart(
|
||||
title: '菜谱统计',
|
||||
unit: '个',
|
||||
data: provider.categoryStats,
|
||||
),
|
||||
),
|
||||
),
|
||||
SizedBox(height: 8),
|
||||
SizedBox(
|
||||
height: chartHeight,
|
||||
child: BuildCard(child: _buildRankStats(provider)),
|
||||
child: CommonCard(
|
||||
child: RankChart(title: '排行榜', data: provider.rankStats, unit: '次'),
|
||||
),
|
||||
),
|
||||
],
|
||||
);
|
||||
@@ -147,7 +113,7 @@ class _StatsPage extends State<StatsPage> {
|
||||
return Stack(
|
||||
children: [
|
||||
if (provider.isLoading)
|
||||
buildLoadingIndicator(context)
|
||||
buildLoadingIndicator()
|
||||
else
|
||||
SingleChildScrollView(child: _buildContent(provider)),
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user