update a lot

master
laiiihz 5 years ago
parent d963593e76
commit 554d004a32

Binary file not shown.

After

Width:  |  Height:  |  Size: 615 B

@ -93,7 +93,7 @@ class _PhotosFailBarcodePageState extends BaseStoreState<PhotosFailBarcodePage>{
color: Colors.white,
fontSize: 16,
onPressed: () async {
var image = await ImagePicker.pickImage(source: ImageSource.gallery);
var image = await ImagePicker().getImage(source: ImageSource.gallery);
File cropFile = await ImageUtils.cropImage(image);
if (cropFile == null) {
return;

@ -8,9 +8,12 @@ import 'package:recook/constants/styles.dart';
import 'package:recook/manager/http_manager.dart';
import 'package:recook/manager/user_manager.dart';
import 'package:recook/models/team_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';
import 'package:recook/widgets/bottom_time_picker.dart';
import 'package:recook/widgets/custom_app_bar.dart';
import 'package:recook/widgets/custom_image_button.dart';
import 'package:recook/widgets/dashed_rect.dart';
import 'package:intl/intl.dart';
import 'package:velocity_x/velocity_x.dart';
@ -198,77 +201,88 @@ class _CumulativeIncomePageState extends BaseStoreState<CumulativeIncomePage>
),
),
20.hb,
Container(
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
_textColumn(
titleAligment: Alignment.centerLeft,
titleText: "自购收益",
infoText: _teamIncomeModel == null
? "0.00"
: _teamIncomeModel
.data.accumulateIncome.selfShopping
?.toStringAsFixed(2),
),
Spacer(),
_textColumn(
titleText: "导购收益",
infoText: _teamIncomeModel == null
? "0.00"
: _teamIncomeModel.data.accumulateIncome.share
?.toStringAsFixed(2),
),
_teamIncomeModel != null &&
_teamIncomeModel.data.roleVisable
? Spacer()
: Container(),
_teamIncomeModel != null &&
_teamIncomeModel.data.roleVisable
? _textColumn(
titleText: "团队收益",
infoText: _teamIncomeModel == null
? "0.00"
: _teamIncomeModel
.data.accumulateIncome.team
?.toStringAsFixed(2),
infoColor: UserLevelTool.roleLevelEnum(
_teamIncomeModel
?.data?.roleLevel) ==
UserRoleLevel.Master
? Colors.black26
: Colors.black)
: Container(),
],
),
),
<Widget>[
_textColumn(
titleText: "推荐收益",
infoText: "0.00X",
),
_textColumn(
titleText: "平台奖励",
infoText: "0.00X",
GridView(
padding: EdgeInsets.zero,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 3,
crossAxisSpacing: 10.w,
mainAxisSpacing: 5.w,
childAspectRatio: 110 / 70,
),
SizedBox(),
].row(
alignment: MainAxisAlignment.spaceBetween,
axisSize: MainAxisSize.max),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
_textColumn(
titleText: "推荐收益",
infoText: "0.00X",
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
children: [
_buildGridColumn(
context,
title: '自购收益',
value: _teamIncomeModel
?.data?.accumulateIncome?.selfShopping
?.toStringAsFixed(2) ??
'0.00',
index: 0,
),
_textColumn(
titleText: "平台奖励",
infoText: "0.00X",
_buildGridColumn(
context,
title: '导购收益',
value: _teamIncomeModel?.data?.accumulateIncome?.share
?.toStringAsFixed(2) ??
'0.00',
index: 1,
),
..._teamIncomeModel?.data?.roleVisable ?? false
? [
_buildGridColumn(
context,
title: '团队收益',
value: _teamIncomeModel
?.data?.accumulateIncome?.team
?.toStringAsFixed(2) ??
'0.00',
index: 2,
)
]
: [],
_buildGridColumn(
context,
title: "推荐收益",
value: "0.00X",
index: 3,
),
_buildGridColumn(
context,
title: "平台奖励",
value: "0.00X",
index: 4,
),
SizedBox(),
],
),
// Container(
// child: Row(
// crossAxisAlignment: CrossAxisAlignment.start,
// children: <Widget>[
// _teamIncomeModel != null &&
// _teamIncomeModel.data.roleVisable
// ? Spacer()
// : Container(),
// _teamIncomeModel != null &&
// _teamIncomeModel.data.roleVisable
// ? _textColumn(
// titleText: "团队收益",
// infoText: _teamIncomeModel == null
// ? "0.00"
// : _teamIncomeModel
// .data.accumulateIncome.team
// ?.toStringAsFixed(2),
// infoColor: UserLevelTool.roleLevelEnum(
// _teamIncomeModel
// ?.data?.roleLevel) ==
// UserRoleLevel.Master
// ? Colors.black26
// : Colors.black)
// : Container(),
// ],
// ),
// ),
],
),
),
@ -543,7 +557,7 @@ class _CumulativeIncomePageState extends BaseStoreState<CumulativeIncomePage>
_textColumn(
{String titleText = "",
Color titleColor = Colors.black26,
Color titleColor = Colors.black54,
double titleFontSize = 14,
Alignment titleAligment = Alignment.centerLeft,
String infoText = "",
@ -571,7 +585,87 @@ class _CumulativeIncomePageState extends BaseStoreState<CumulativeIncomePage>
],
);
}
}
_buildGridColumn(
BuildContext context, {
String title,
String value,
int index,
}) {
return CustomImageButton(
padding: EdgeInsets.zero,
onPressed: () {
_goToNextPage(index, context);
},
child: <Widget>[
[
title.text.color(Color(0xff3a3943)).size(14.sp).make(),
CustomImageButton(
child:
Image.asset(R.ASSETS_SHOP_HELPER_PNG, width: 12.w, height: 12.w),
onPressed: () => _openQuestDialog(index, title, context),
),
].row(),
3.hb,
value.text.color(Color(0xFF333333)).size(20.sp).make(),
].column(
crossAlignment: CrossAxisAlignment.start,
alignment: MainAxisAlignment.center,
),
);
}
_goToNextPage(int index, BuildContext context) {
switch (index) {
case 0:
break;
case 1:
break;
case 2:
AppRouter.push(context, RouteName.USER_PAGE_SUB_INCOME_PAGE,
arguments: UserPageSubIncomesPage.setArguments(
UserPageSubIncomesPageType.UserPageTeamIncome));
break;
case 3:
break;
}
}
_openQuestDialog(int index, String title, BuildContext context) {
String content = '';
switch (index) {
case 0:
content = '您本人下单并确认收货后,您获得的佣金。';
break;
case 1:
content = '''您的直属会员下单并确认收货后,您获得的佣金。
''';
break;
case 2:
content = '每月22日结算您团队上一个自然月确认收货的订单按团队销售额的3%计算收益。';
break;
case 3:
content = '每月22日结算您推荐的团队上一个自然月确认收货的订单按团队销售额的4%计算收益。';
break;
case 4:
content = '每月22日结算您可获取平台奖励的团队的上一个自然月确认收货的订单按团队销售额的5%计算收益。';
break;
}
showDialog(
context: context,
child: NormalContentDialog(
title: title,
content: content.text.color(Color(0xFF333333)).make(),
items: [],
deleteItem: '确定',
type: NormalTextDialogType.delete,
listener: (_) => Navigator.pop(context),
deleteListener: () => Navigator.pop(context),
),
);
}
/*

@ -260,8 +260,8 @@ class _UserPageState extends BaseStoreState<UserPage> {
fit: BoxFit.cover,
)),
AppConfig.getShowCommission()
? GestureDetector(
onTap: () {
? CustomImageButton(
onPressed: () {
push(RouteName.CUMULATIVE_INCOME);
},
child: Container(

@ -50,8 +50,8 @@ class _UserSetPasswordState extends BaseStoreState<UserSetPassword>{
}
_varCodeWidget(){
TextStyle redStyle = TextStyle(color: AppColor.themeColor, fontSize: ScreenAdapterUtils.setSp(15));
TextStyle greyStyle = TextStyle(color: Color(0xff777777), fontSize: ScreenAdapterUtils.setSp(15));
// TextStyle redStyle = TextStyle(color: AppColor.themeColor, fontSize: ScreenAdapterUtils.setSp(15));
// TextStyle greyStyle = TextStyle(color: Color(0xff777777), fontSize: ScreenAdapterUtils.setSp(15));
return Container(
child: Column(
mainAxisAlignment: MainAxisAlignment.start,

@ -71,8 +71,8 @@ class _UserSetPasswordVarCodeState extends BaseStoreState<UserSetPasswordVarCode
}
_varCodeWidget(){
TextStyle redStyle = TextStyle(color: AppColor.themeColor, fontSize: ScreenAdapterUtils.setSp(15));
TextStyle greyStyle = TextStyle(color: Color(0xff777777), fontSize: ScreenAdapterUtils.setSp(15));
// TextStyle redStyle = TextStyle(color: AppColor.themeColor, fontSize: ScreenAdapterUtils.setSp(15));
// TextStyle greyStyle = TextStyle(color: Color(0xff777777), fontSize: ScreenAdapterUtils.setSp(15));
return Container(
child: Column(
mainAxisAlignment: MainAxisAlignment.start,

@ -8,13 +8,10 @@
*/
import 'package:flutter/material.dart';
import 'package:recook/constants/api.dart';
import 'package:recook/constants/header.dart';
import 'package:recook/widgets/bussiness_cooperation_page.dart';
import 'package:recook/widgets/custom_image_button.dart';
import 'package:recook/manager/meiqia_manager.dart';
import 'package:recook/manager/user_manager.dart';
import 'package:recook/widgets/webView.dart';
class OtherItemView extends StatelessWidget {
final Color _itemColor = Colors.grey[500];

@ -20,7 +20,7 @@ class ShopBenifitView extends StatelessWidget {
.size(16.sp)
.bold
.make()
.pSymmetric(v: 10.w, h: 5.w),
.p(10.w),
Spacer(),
Icon(Icons.keyboard_arrow_right,
size: 22, color: Color(0xff999999)),

@ -48,13 +48,7 @@ class ShopManagerView extends StatelessWidget {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
'店铺管理'
.text
.color(Color(0xFF333333))
.size(16.sp)
.bold
.make()
.pSymmetric(v: 10.w, h: 5.w),
'店铺管理'.text.color(Color(0xFF333333)).size(16.sp).bold.make().p(10.w),
GridView(
padding:
EdgeInsets.symmetric(horizontal: 5.w).copyWith(bottom: 10.w),

@ -2,15 +2,18 @@ import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:recook/constants/api.dart';
import 'package:recook/constants/app_image_resources.dart';
import 'package:recook/constants/styles.dart';
import 'package:recook/constants/constants.dart';
import 'package:recook/manager/http_manager.dart';
import 'package:recook/manager/user_manager.dart';
import 'package:recook/pages/shop/widget/shop_page_bar_card_widget.dart';
import 'package:recook/pages/shop/widget/shop_page_income_widget.dart';
import 'package:recook/pages/user/model/user_team_income_model.dart';
import 'package:recook/utils/text_utils.dart';
import 'package:recook/utils/user_level_tool.dart';
import 'package:recook/widgets/bottom_time_picker.dart';
import 'package:recook/widgets/custom_painters/round_background_painter.dart';
import 'package:recook/widgets/sort_widget.dart';
import 'package:velocity_x/velocity_x.dart';
class UserPageTeamIncomeWidget extends StatefulWidget {
UserPageTeamIncomeWidget({Key key}) : super(key: key);
@ -36,7 +39,7 @@ class _UserPageTeamIncomeWidgetState
@override
Widget buildContext(BuildContext context, {store}) {
return ListView(
physics: ClampingScrollPhysics(),
physics: BouncingScrollPhysics(parent: AlwaysScrollableScrollPhysics()),
children: <Widget>[
Container(
height: 30,
@ -45,43 +48,50 @@ class _UserPageTeamIncomeWidgetState
Container(
child: Stack(
children: <Widget>[
// Positioned(
// left: 0,
// top: 0,
// right: 0,
// height: 170.0 / 345 * (ScreenUtil.screenWidthDp - 30) + 30,
// child: Container(
// color: AppColor.blackColor,
// ),
// ),
Positioned(
left: 0,
top: 0,
left: 0,
right: 0,
height: 170.0 / 345 * (ScreenUtil.screenWidthDp - 30) + 30,
child: Container(
color: AppColor.blackColor,
),
child: CustomPaint(painter: RoundBackgroundPainter()),
),
Column(
children: <Widget>[
Container(
padding: EdgeInsets.symmetric(vertical: 15),
child: ShopPageIncomeCardWidget(
headModel: ShopPageIncomeCardModel(
"累计收益(瑞币)",
_incomeModel != null
? _incomeModel.data.teamIncome.historyIncome
.toStringAsFixed(2)
: "0.00"),
subModels: [
ShopPageIncomeCardModel(
"销售额(元)",
_incomeModel != null
? _incomeModel.data.teamIncome.teamAmount
.toStringAsFixed(2)
: "0.00"),
// ShopPageIncomeCardModel("提成比例(%)", _incomeModel!=null? (_incomeModel.data.totalAmount*100).toStringAsFixed(2):"0.00" ),
ShopPageIncomeCardModel(
"团队成员(人)",
_incomeModel != null
? _incomeModel.data.teamIncome.memberNum
.toString()
: "0"),
],
),
),
_buildCard(),
// Container(
// padding: EdgeInsets.symmetric(vertical: 15),
// child: ShopPageIncomeCardWidget(
// headModel: ShopPageIncomeCardModel(
// "累计收益(瑞币)",
// _incomeModel != null
// ? _incomeModel.data.teamIncome.historyIncome
// .toStringAsFixed(2)
// : "0.00"),
// subModels: [
// ShopPageIncomeCardModel(
// "销售额(元)",
// _incomeModel != null
// ? _incomeModel.data.teamIncome.teamAmount
// .toStringAsFixed(2)
// : "0.00"),
// // ShopPageIncomeCardModel("提成比例(%)", _incomeModel!=null? (_incomeModel.data.totalAmount*100).toStringAsFixed(2):"0.00" ),
// ShopPageIncomeCardModel(
// "团队成员(人)",
// _incomeModel != null
// ? _incomeModel.data.teamIncome.memberNum
// .toString()
// : "0"),
// ],
// ),
// ),
Container(
padding: EdgeInsets.symmetric(horizontal: 15),
height: 50,
@ -106,6 +116,7 @@ class _UserPageTeamIncomeWidgetState
],
),
),
_buildMidCard(),
Column(
children: <Widget>[
_pageWidget(),
@ -113,7 +124,7 @@ class _UserPageTeamIncomeWidgetState
],
)
],
)
),
],
),
)
@ -121,6 +132,133 @@ class _UserPageTeamIncomeWidgetState
);
}
_buildCard() {
return Container(
padding: EdgeInsets.symmetric(horizontal: 20.w, vertical: 15.w),
child: Column(
children: [
Row(
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
'累计收益(瑞币)'.text.color(Colors.black54).size(16.sp).make(),
(_incomeModel?.data?.teamIncome?.historyIncome
?.toStringAsFixed(2) ??
'0.00')
.text
.color(Color(0xFF333333))
.size(34.sp)
.make(),
],
),
Spacer(),
Image.asset(
UserLevelTool.currentMedalImagePath(),
height: 55.w,
width: 55.w,
),
],
),
Spacer(),
Row(
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
'销售额(元)'.text.color(Colors.black54).size(16.sp).make(),
(_incomeModel?.data?.teamIncome?.teamAmount
?.toStringAsFixed(2) ??
'0.00')
.text
.color(Color(0xFF333333))
.size(24.sp)
.make(),
],
),
Spacer(),
Column(
children: [
'团队人数(人)'.text.color(Colors.black54).size(16.sp).make(),
(_incomeModel?.data?.teamIncome?.memberNum?.toString() ?? '0')
.text
.color(Color(0xFF333333))
.size(24.sp)
.make(),
],
),
],
),
],
),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(5.w),
boxShadow: [
BoxShadow(
offset: Offset(0, 2.w),
color: Color.fromRGBO(166, 166, 173, 0.43),
blurRadius: 6.w,
)
],
image: DecorationImage(
image: AssetImage(UserLevelTool.currentCardImagePath()),
fit: BoxFit.cover,
),
),
height: 170.w,
width: double.infinity,
margin: EdgeInsets.symmetric(horizontal: 15.w, vertical: 10.w),
);
}
_buildMidCard() {
return VxBox(
child: <Widget>[
'团队收益(元)'.text.color(Colors.black54).size(18.sp).make(),
6.hb,
(_incomeModel?.data?.incomeDetail?.income?.toStringAsFixed(2) ?? '0.00')
.text
.color(Color(0xFF333333))
.size(24.sp)
.make(),
36.hb,
Row(
children: [
Column(
children: [
'销售额(元)'.text.color(Colors.black54).size(14.sp).make(),
(_incomeModel?.data?.incomeDetail?.amount?.toStringAsFixed(2) ??
'0.00')
.text
.color(Color(0xFF333333))
.size(16.sp)
.make()
],
),
Spacer(),
Column(
children: [
'提成比例(%)'.text.color(Colors.black54).size(14.sp).make(),
(_incomeModel?.data?.incomeDetail?.percent?.toStringAsFixed(2) ??
'0.00')
.text
.color(Color(0xFF333333))
.size(16.sp)
.make()
],
),
],
),
].column(
crossAlignment: CrossAxisAlignment.start,
))
.padding(EdgeInsets.symmetric(horizontal: 15.w, vertical: 20.w))
.margin(EdgeInsets.symmetric(horizontal: 15))
.color(Colors.white)
.withRounded(value: 5.w)
.make();
}
_pageWidget() {
double width = ScreenUtil.screenWidthDp;
double height = 170 * width / 375;
@ -142,55 +280,55 @@ class _UserPageTeamIncomeWidgetState
margin: EdgeInsets.only(top: 30, bottom: 30),
child: Column(
children: <Widget>[
Container(
height: 75,
child: Column(
children: <Widget>[
Container(
height: 30,
alignment: Alignment.centerLeft,
child: Text(
"收益明细",
style: TextStyle(
color: Colors.black,
fontSize: 14,
fontWeight: FontWeight.w500),
),
),
Spacer(),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
// crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
textColumn(
crossAxisAlignment: CrossAxisAlignment.start,
titleText: "结算收益(瑞币)",
infoText: _incomeModel == null
? "0.00"
: _incomeModel.data.incomeDetail.income
.toStringAsFixed(2),
infoAligment: Alignment.bottomLeft),
textColumn(
crossAxisAlignment: CrossAxisAlignment.center,
titleText: "销售额(元)",
infoText: _incomeModel == null
? "0.00"
: _incomeModel.data.incomeDetail.amount
.toStringAsFixed(2),
infoAligment: Alignment.bottomLeft),
textColumn(
crossAxisAlignment: CrossAxisAlignment.end,
titleText: "提成比例(%)",
infoText: _incomeModel == null
? "0.00"
: _incomeModel.data.incomeDetail.percent
.toStringAsFixed(2),
infoAligment: Alignment.bottomLeft),
],
),
],
),
),
// Container(
// height: 75,
// child: Column(
// children: <Widget>[
// Container(
// height: 30,
// alignment: Alignment.centerLeft,
// child: Text(
// "收益明细",
// style: TextStyle(
// color: Colors.black,
// fontSize: 14,
// fontWeight: FontWeight.w500),
// ),
// ),
// Spacer(),
// Row(
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
// // crossAxisAlignment: CrossAxisAlignment.start,
// children: <Widget>[
// textColumn(
// crossAxisAlignment: CrossAxisAlignment.start,
// titleText: "结算收益(瑞币)",
// infoText: _incomeModel == null
// ? "0.00"
// : _incomeModel.data.incomeDetail.income
// .toStringAsFixed(2),
// infoAligment: Alignment.bottomLeft),
// textColumn(
// crossAxisAlignment: CrossAxisAlignment.center,
// titleText: "销售额(元)",
// infoText: _incomeModel == null
// ? "0.00"
// : _incomeModel.data.incomeDetail.amount
// .toStringAsFixed(2),
// infoAligment: Alignment.bottomLeft),
// textColumn(
// crossAxisAlignment: CrossAxisAlignment.end,
// titleText: "提成比例(%)",
// infoText: _incomeModel == null
// ? "0.00"
// : _incomeModel.data.incomeDetail.percent
// .toStringAsFixed(2),
// infoAligment: Alignment.bottomLeft),
// ],
// ),
// ],
// ),
// ),
Container(
margin: EdgeInsets.only(top: 30),
height: 40,

@ -0,0 +1,18 @@
import 'package:flutter/material.dart';
import 'package:recook/constants/constants.dart';
class RoundBackgroundPainter extends CustomPainter {
@override
void paint(Canvas canvas, Size size) {
Paint paint = Paint()..color = Color(0xFF16182B);
canvas.drawCircle(Offset(size.width / 2, -100.w), 300.w, paint);
}
@override
bool shouldRepaint(RoundBackgroundPainter oldDelegate) => false;
@override
bool shouldRebuildSemantics(RoundBackgroundPainter oldDelegate) => false;
}
Loading…
Cancel
Save