You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
127 lines
4.1 KiB
127 lines
4.1 KiB
import 'package:flutter/material.dart';
|
|
import 'package:recook/pages/user/functions/user_benefit_func.dart';
|
|
import 'package:recook/pages/user/model/user_benefit_model.dart';
|
|
import 'package:recook/pages/user/user_benefit_page.dart';
|
|
import 'package:recook/utils/custom_route.dart';
|
|
import 'package:recook/widgets/custom_image_button.dart';
|
|
import 'package:velocity_x/velocity_x.dart';
|
|
import 'package:recook/constants/constants.dart';
|
|
|
|
class ShopBenefitView extends StatefulWidget {
|
|
ShopBenefitView({Key key}) : super(key: key);
|
|
|
|
@override
|
|
ShopBenefitViewState createState() => ShopBenefitViewState();
|
|
}
|
|
|
|
class ShopBenefitViewState extends State<ShopBenefitView> {
|
|
UserBenefitModel _model = UserBenefitModel.zero();
|
|
|
|
Future updateBenefit() async {
|
|
_model = await UserBenefitFunc.update();
|
|
if (mounted) setState(() {});
|
|
}
|
|
|
|
@override
|
|
void initState() {
|
|
super.initState();
|
|
updateBenefit();
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return CustomImageButton(
|
|
padding: EdgeInsets.zero,
|
|
onPressed: () => CRoute.push(context, UserBenefitPage()),
|
|
child: VxBox(
|
|
child: <Widget>[
|
|
<Widget>[
|
|
'我的收益'
|
|
.text
|
|
.color(Color(0xFF333333))
|
|
.size(16.sp)
|
|
.bold
|
|
.make()
|
|
.p(10.w),
|
|
Spacer(),
|
|
Icon(Icons.keyboard_arrow_right,
|
|
size: 22, color: Color(0xff999999)),
|
|
10.wb,
|
|
].row(),
|
|
Divider(
|
|
color: Color(0xFFE6E6E6),
|
|
height: 1.w,
|
|
thickness: 1.w,
|
|
),
|
|
SizedBox(
|
|
height: 66.w,
|
|
child: Row(
|
|
children: [
|
|
<Widget>[
|
|
_model.data.monthExpect
|
|
.toStringAsFixed(2)
|
|
.text
|
|
.size(18.sp)
|
|
.color(Color(0xFF333333))
|
|
.make(),
|
|
6.hb,
|
|
'本月预估'.text.size(12.sp).color(Color(0xFF333333)).make(),
|
|
].column().expand(),
|
|
VerticalDivider(
|
|
color: Color(0xFFE6E6E6),
|
|
width: 1.w,
|
|
thickness: 1.w,
|
|
indent: 16.w,
|
|
endIndent: 16.w,
|
|
),
|
|
<Widget>[
|
|
_model.data.dayExpect
|
|
.toStringAsFixed(2)
|
|
.text
|
|
.size(18.sp)
|
|
.color(Color(0xFF333333))
|
|
.make(),
|
|
6.hb,
|
|
'今日预估'.text.size(12.sp).color(Color(0xFF333333)).make(),
|
|
].column().expand(),
|
|
],
|
|
),
|
|
),
|
|
Divider(
|
|
color: Color(0xFFE6E6E6),
|
|
height: 1.w,
|
|
thickness: 1.w,
|
|
),
|
|
<Widget>[
|
|
Row(
|
|
mainAxisSize: MainAxisSize.min,
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
textBaseline: TextBaseline.alphabetic,
|
|
children: <Widget>[
|
|
'上月结算'.text.size(12.sp).color(Color(0xFF666666)).make(),
|
|
'¥${_model.data.lastMonthIncome.toStringAsFixed(2)}'
|
|
.text
|
|
.size(12.sp)
|
|
.color(Color(0xFFD7BE8E))
|
|
.make(),
|
|
]).expand(),
|
|
30.hb,
|
|
Row(
|
|
mainAxisSize: MainAxisSize.min,
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
textBaseline: TextBaseline.alphabetic,
|
|
children: <Widget>[
|
|
'上月预估'.text.size(12.sp).color(Color(0xFF666666)).make(),
|
|
'¥${_model.data.lastMonthExpect.toStringAsFixed(2)}'
|
|
.text
|
|
.size(12.sp)
|
|
.color(Color(0xFFD7BE8E))
|
|
.make(),
|
|
]).expand(),
|
|
].row(),
|
|
].column(crossAlignment: CrossAxisAlignment.start),
|
|
).color(Colors.white).withRounded(value: 10).make(),
|
|
).pOnly(left: 10, right: 10, bottom: 10);
|
|
}
|
|
}
|