From c4fe7d6cf6731a48ee9236555f4079e0b0e6e8eb Mon Sep 17 00:00:00 2001 From: laiiihz Date: Fri, 2 Apr 2021 14:49:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8E=86=E5=8F=B2=E7=B4=AF?= =?UTF-8?q?=E8=AE=A1=E6=94=B6=E7=9B=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/constants/api_v2.dart | 3 + .../user/user_old_history_benefit_page.dart | 152 ++++++++++++++++++ lib/pages/user/user_page.dart | 24 +-- pubspec.yaml | 2 +- 4 files changed, 169 insertions(+), 12 deletions(-) create mode 100644 lib/pages/user/user_old_history_benefit_page.dart diff --git a/lib/constants/api_v2.dart b/lib/constants/api_v2.dart index b82a485..1e6c5d7 100644 --- a/lib/constants/api_v2.dart +++ b/lib/constants/api_v2.dart @@ -17,6 +17,9 @@ class UserAPI { ///累计收益 String get accumulate => '/v2/app/user/income/accumulate'; + //历史累计收益 + String get oldIncome => '/v2/app/user/income/history'; + ///年度月收益 String get monthIncome => '/v2/app/user/income/month_income'; diff --git a/lib/pages/user/user_old_history_benefit_page.dart b/lib/pages/user/user_old_history_benefit_page.dart new file mode 100644 index 0000000..ad6fb2e --- /dev/null +++ b/lib/pages/user/user_old_history_benefit_page.dart @@ -0,0 +1,152 @@ +import 'package:flutter/material.dart'; +import 'package:recook/constants/api_v2.dart'; +import 'package:recook/manager/http_manager.dart'; + +import 'package:velocity_x/velocity_x.dart'; + +import 'package:recook/constants/header.dart'; +import 'package:recook/pages/user/functions/user_benefit_func.dart'; +import 'package:recook/utils/user_level_tool.dart'; +import 'package:recook/widgets/recook_back_button.dart'; +import 'package:recook/widgets/refresh_widget.dart'; + +class UserOldHistoryBenefitPage extends StatefulWidget { + UserOldHistoryBenefitPage({Key key}) : super(key: key); + + @override + _UserOldHistoryBenefitPageState createState() => + _UserOldHistoryBenefitPageState(); +} + +class _UserOldHistoryBenefitPageState extends State { + GSRefreshController _refreshController = + GSRefreshController(initialRefresh: true); + + double _total = 0.0; + double _purchase = 0.0; + double _guide = 0.0; + double _team = 0.0; + + _renderColumn(String title, String subTitle) { + return Column( + children: [ + title.text.size(14.sp).black.make(), + 2.hb, + subTitle.text.size(14.sp).black.make(), + ], + ).expand(); + } + + _renderDivider() { + return Container( + height: 22.w, + width: 1.w, + color: Color(0xFF979797), + ); + } + + _buildCard() { + return Container( + clipBehavior: Clip.antiAlias, + decoration: BoxDecoration( + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Color(0xFFA6A6AD).withOpacity(0.41), + offset: Offset(0, 2.w), + blurRadius: 6.w, + ), + ], + borderRadius: BorderRadius.circular(4.w), + ), + child: Column( + children: [ + Container( + decoration: BoxDecoration( + image: DecorationImage( + fit: BoxFit.cover, + image: AssetImage(UserLevelTool.currentCardImagePath()), + ), + ), + padding: EdgeInsets.all(10.w), + child: Row( + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + '历史累计总收益(瑞币)'.text.black.make(), + 8.hb, + (_total.toStringAsFixed(2) ?? '') + .text + .black + .size(34.sp) + .make(), + ], + ).expand(), + Image.asset( + UserLevelTool.currentMedalImagePath(), + width: 48.w, + height: 48.w, + ), + ], + ), + ), + Container( + padding: EdgeInsets.symmetric(vertical: 8.w), + child: Row( + children: [ + _renderColumn('自购收益', _purchase.toStringAsFixed(2) ?? ''), + _renderDivider(), + _renderColumn('导购收益', _guide.toStringAsFixed(2) ?? ''), + _renderDivider(), + _renderColumn('店铺补贴', _team.toStringAsFixed(2) ?? ''), + ], + ), + ), + ], + ), + ); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + leading: RecookBackButton(white: true), + backgroundColor: Color(0xFF16182B), + centerTitle: true, + elevation: 0, + title: Text( + '历史累计总收益', + style: TextStyle( + fontSize: 18.sp, + color: Colors.white, + ), + ), + ), + body: RefreshWidget( + controller: _refreshController, + onRefresh: () async { + ResultData result = + await HttpManager.post(APIV2.userAPI.oldIncome, {}); + if (result != null && + result.data != null && + result.data['data'] != null) { + _total = result.data['data']['total'] + .0; + _purchase = result.data['data']['purchase'] + .0; + _guide = result.data['data']['guide'] + .0; + _team = result.data['data']['team'] + .0; + setState(() {}); + } + _refreshController.refreshCompleted(); + }, + body: ListView( + padding: EdgeInsets.symmetric(horizontal: 36.w, vertical: 20.w), + children: [ + _buildCard(), + ], + ), + ), + ); + } +} diff --git a/lib/pages/user/user_page.dart b/lib/pages/user/user_page.dart index 4dd25aa..9163f1b 100644 --- a/lib/pages/user/user_page.dart +++ b/lib/pages/user/user_page.dart @@ -15,6 +15,7 @@ import 'package:flutter/services.dart'; import 'package:common_utils/common_utils.dart'; import 'package:get/get.dart'; import 'package:package_info/package_info.dart'; +import 'package:recook/pages/user/user_old_history_benefit_page.dart'; import 'package:redux/redux.dart'; import 'package:url_launcher/url_launcher.dart'; import 'package:velocity_x/velocity_x.dart'; @@ -552,21 +553,22 @@ class _UserPageState extends BaseStoreState { materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, child: Icon( - Icons.help_outline, + Icons.schedule, size: 12.w, color: Color(0xFFA5A5A5), ), onPressed: () { - Alert.show( - context, - NormalTextDialog( - title: "累计收益", - content: "您的账户使用至今所有已到账收益之和", - items: ["确认"], - listener: (index) { - Alert.dismiss(context); - }, - )); + Get.to(() => UserOldHistoryBenefitPage()); + // Alert.show( + // context, + // NormalTextDialog( + // title: "累计收益", + // content: "您的账户使用至今所有已到账收益之和", + // items: ["确认"], + // listener: (index) { + // Alert.dismiss(context); + // }, + // )); }, ), Spacer(), diff --git a/pubspec.yaml b/pubspec.yaml index 671713f..c64366f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -2,7 +2,7 @@ name: recook description: Recook Market App. publish_to: "none" -version: 1.6.13-master+282 +version: 1.6.15-master+284 environment: sdk: ">=2.10.0 <3.0.0"