累计收益

master
laiiihz 5 years ago
parent da18880042
commit 3c8f1606fd

@ -10,6 +10,7 @@ import 'package:recook/manager/user_manager.dart';
import 'package:recook/models/team_income_model.dart';
import 'package:recook/pages/user/functions/user_benefit_func.dart';
import 'package:recook/pages/user/model/user_accumulate_model.dart';
import 'package:recook/pages/user/model/user_month_income_model.dart';
import 'package:recook/pages/user/user_page_sub_income_page.dart';
import 'package:recook/utils/user_level_tool.dart';
import 'package:recook/widgets/alert.dart';
@ -34,11 +35,24 @@ class _CumulativeIncomePageState extends BaseStoreState<CumulativeIncomePage>
TeamIncomeModel _teamIncomeModel;
bool _noData = false;
String _selectYear;
///
DateTime _selectYear;
///
String get _selectYearValue => _selectYear.year.toString();
double get _yearIncome {
double result = 0;
_models.forEach((element) {
result += element?.amount ?? 0;
});
return result;
}
///
///
UserAccumulateModel _model = UserAccumulateModel.zero();
List<UserMonthIncomeModel> _models = [];
///
double get _purchase => _model?.data?.purchaseAmount ?? 0;
@ -59,9 +73,10 @@ class _CumulativeIncomePageState extends BaseStoreState<CumulativeIncomePage>
@override
void initState() {
_selectYear = DateTime.now().year.toString();
_selectYear = DateTime.now();
_getShopIncome();
_getAccumulate();
_getMonthIncome(DateTime.now().year);
super.initState();
}
@ -128,7 +143,7 @@ class _CumulativeIncomePageState extends BaseStoreState<CumulativeIncomePage>
},
submit: (time, type) {
Navigator.maybePop(context);
_selectYear = time.year.toString();
_selectYear = time;
setState(() {});
_getShopIncome();
},
@ -146,7 +161,7 @@ class _CumulativeIncomePageState extends BaseStoreState<CumulativeIncomePage>
child: Row(
children: <Widget>[
TimeSelectTitleWidget(
title: _selectYear,
title: _selectYearValue,
click: () {
_showTimePickerBottomSheet();
},
@ -163,9 +178,7 @@ class _CumulativeIncomePageState extends BaseStoreState<CumulativeIncomePage>
),
),
TextSpan(
text: _teamIncomeModel == null
? "0.00"
: _teamIncomeModel.data.yearIncome?.toStringAsFixed(2),
text: _yearIncome.toStringAsFixed(2),
style: TextStyle(
fontWeight: FontWeight.w500,
color: AppColor.redColor,
@ -333,7 +346,7 @@ class _CumulativeIncomePageState extends BaseStoreState<CumulativeIncomePage>
30.wb,
'月度收益'.text.size(14).black.bold.make(),
Spacer(),
'${3}期收益'.text.size(14).color(Colors.black38).make(),
'${_models.length}期收益'.text.size(14).color(Colors.black38).make(),
30.wb,
].row(),
DashedRect(
@ -644,7 +657,7 @@ class _CumulativeIncomePageState extends BaseStoreState<CumulativeIncomePage>
_getShopIncome() async {
ResultData resultData = await HttpManager.post(ShopApi.shop_addup_income, {
"userId": UserManager.instance.user.info.id,
"year": TextUtils.isEmpty(_selectYear)
"year": TextUtils.isEmpty(_selectYearValue)
? DateTime.now().year.toString()
: _selectYear,
});
@ -666,6 +679,11 @@ class _CumulativeIncomePageState extends BaseStoreState<CumulativeIncomePage>
setState(() {});
}
_getMonthIncome(int year) async {
_models = await UserBenefitFunc.monthIncome(year: year);
setState(() {});
}
_textColumn(
{String titleText = "",
Color titleColor = Colors.black54,

@ -15,11 +15,13 @@ class UserBenefitFunc {
return UserAccumulateModel.fromJson(result.data);
}
static Future<UserMonthIncomeModel> monthIncome({int month}) async {
static Future<List<UserMonthIncomeModel>> monthIncome({int year}) async {
ResultData result = await HttpManager.post(
APIV2.userAPI.monthIncome,
{'year': month},
{'year': year},
);
return UserMonthIncomeModel.fromJson(result.data);
return (result.data['data'] as List)
.map((e) => UserMonthIncomeModel.fromJson(e))
.toList();
}
}

@ -34,6 +34,13 @@ class Data {
double teamAmount;
double recommendAmount;
double rewardAmount;
double get allAmount =>
purchaseAmount ??
0 + guideAmount ??
0 + teamAmount ??
0 + recommendAmount ??
0 + rewardAmount ??
0;
Data(
{this.purchaseAmount,

@ -21,6 +21,7 @@ import 'package:recook/models/base_model.dart';
import 'package:recook/models/shop_summary_model.dart';
import 'package:recook/models/user_brief_info_model.dart';
import 'package:recook/models/user_model.dart';
import 'package:recook/pages/user/functions/user_benefit_func.dart';
import 'package:recook/pages/user/order/order_after_sale_page.dart';
import 'package:recook/pages/user/order/order_center_page.dart';
import 'package:recook/pages/user/widget/capital_view.dart';
@ -55,6 +56,7 @@ class _UserPageState extends BaseStoreState<UserPage> {
GSRefreshController _refreshController;
String _capital; //
bool _isFirstLoad = true;
double _allBenefitAmount = 0;
GlobalKey<ShopBenefitViewState> _shopBenefitKey =
GlobalKey<ShopBenefitViewState>();
@ -71,7 +73,7 @@ class _UserPageState extends BaseStoreState<UserPage> {
void initState() {
super.initState();
_refreshController = GSRefreshController();
_updateAllAmount();
WidgetsBinding.instance.addPostFrameCallback((callback) {
if (_isFirstLoad) {
_isFirstLoad = false;
@ -156,6 +158,14 @@ class _UserPageState extends BaseStoreState<UserPage> {
});
}
///
_updateAllAmount() {
UserBenefitFunc.accmulate().then((value) {
_allBenefitAmount = value.data.allAmount;
setState(() {});
});
}
Widget _buildRefreshScrollView(
BuildContext context, Store<RecookState> store) {
return Stack(
@ -172,6 +182,7 @@ class _UserPageState extends BaseStoreState<UserPage> {
VersionTool.checkVersionInfo(context);
_shopBenefitKey.currentState.updateBenefit();
_updateUserBriefInfo();
_updateAllAmount();
},
body: ListView(
physics: AlwaysScrollableScrollPhysics(),
@ -282,22 +293,9 @@ class _UserPageState extends BaseStoreState<UserPage> {
color: Colors.black87, fontSize: 10))
])),
Spacer(),
FutureBuilder(
future: _getShopSummary(),
builder: (context, snapshot) {
if (snapshot.connectionState ==
ConnectionState.done) {
ShopSummaryModel model = snapshot.data;
return Text(
model.data.accumulateIncome.all
.toStringAsFixed(2),
style: TextStyle(
color: Colors.black, fontSize: 18));
} else {
return Text('');
}
},
),
Text(_allBenefitAmount.toStringAsFixed(2),
style: TextStyle(
color: Colors.black, fontSize: 18)),
Icon(Icons.keyboard_arrow_right,
size: 22, color: Color(0xff999999)),
],

@ -58,12 +58,13 @@ class ShopBenefitViewState extends State<ShopBenefitView> {
child: Row(
children: [
<Widget>[
_model.data.monthExpect
.toStringAsFixed(2)
.text
.size(18.sp)
.color(Color(0xFF333333))
.make(),
_model?.data?.monthExpect ??
0
.toStringAsFixed(2)
.text
.size(18.sp)
.color(Color(0xFF333333))
.make(),
6.hb,
'本月预估'.text.size(12.sp).color(Color(0xFF333333)).make(),
].column().expand(),
@ -75,12 +76,13 @@ class ShopBenefitViewState extends State<ShopBenefitView> {
endIndent: 16.w,
),
<Widget>[
_model.data.dayExpect
.toStringAsFixed(2)
.text
.size(18.sp)
.color(Color(0xFF333333))
.make(),
_model?.data?.dayExpect ??
0
.toStringAsFixed(2)
.text
.size(18.sp)
.color(Color(0xFF333333))
.make(),
6.hb,
'今日预估'.text.size(12.sp).color(Color(0xFF333333)).make(),
].column().expand(),
@ -99,7 +101,7 @@ class ShopBenefitViewState extends State<ShopBenefitView> {
textBaseline: TextBaseline.alphabetic,
children: <Widget>[
'上月结算'.text.size(12.sp).color(Color(0xFF666666)).make(),
'¥${_model.data.lastMonthIncome.toStringAsFixed(2)}'
'¥${_model?.data?.lastMonthIncome ?? 0.toStringAsFixed(2)}'
.text
.size(12.sp)
.color(Color(0xFFD7BE8E))
@ -112,7 +114,7 @@ class ShopBenefitViewState extends State<ShopBenefitView> {
textBaseline: TextBaseline.alphabetic,
children: <Widget>[
'上月预估'.text.size(12.sp).color(Color(0xFF666666)).make(),
'¥${_model.data.lastMonthExpect.toStringAsFixed(2)}'
'¥${_model?.data?.lastMonthExpect ?? 0.toStringAsFixed(2)}'
.text
.size(12.sp)
.color(Color(0xFFD7BE8E))

Loading…
Cancel
Save