赠送卡片列表修复,我的团队添加本人数据

master
laiiihz 4 years ago
parent 9719c78720
commit 6176673c52

@ -1,9 +1,11 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:recook/constants/api.dart';
import 'package:recook/constants/api_v2.dart';
import 'package:recook/manager/http_manager.dart';
import 'package:recook/manager/user_manager.dart';
import 'package:recook/models/invite_list_model.dart';
import 'package:recook/pages/user/model/user_common_model.dart';
import 'package:recook/pages/user/widget/user_group_card.dart';
import 'package:recook/utils/user_level_tool.dart';
import 'package:recook/widgets/recook/recook_scaffold.dart';
@ -19,21 +21,19 @@ class UpgradeeCardSendPageV2 extends StatefulWidget {
class _UpgradeeCardSendPageV2State extends State<UpgradeeCardSendPageV2> {
int _page = 1;
Future<List<InviteModel>> fetchList(int page, String searchCond) async {
ResultData resultData = await HttpManager.post(UserApi.invite, {
"userId": UserManager.instance.user.info.id,
"SearchCond": searchCond,
"page": page,
Future<List<UserCommonModel>> fetchList(String searchCond) async {
ResultData resultData = await HttpManager.post(APIV2.userAPI.myGroup, {
"keyword": '',
});
if (resultData == null ||
resultData.data == null ||
resultData.data['data'] == null) return [];
return (resultData.data['data'] as List)
.map((e) => InviteModel.fromJson(e))
.map((e) => UserCommonModel.fromJson(e))
.toList();
}
List<InviteModel> _models = [];
List<UserCommonModel> _models = [];
GSRefreshController _refreshController =
GSRefreshController(initialRefresh: true);
@ -45,7 +45,7 @@ class _UpgradeeCardSendPageV2State extends State<UpgradeeCardSendPageV2> {
body: RefreshWidget(
onRefresh: () async {
_page = 1;
await fetchList(_page, '');
_models = await fetchList('');
_refreshController.refreshCompleted();
setState(() {});
},
@ -56,8 +56,8 @@ class _UpgradeeCardSendPageV2State extends State<UpgradeeCardSendPageV2> {
return UserGroupCard(
name: item.nickname,
wechatId: item.wechatNo,
phone: item.phoneNum,
shopRole: UserLevelTool.roleLevelEnum(item.role),
phone: item.phone,
shopRole: UserLevelTool.roleLevelEnum(item.roleLevel),
groupCount: item.count,
headImg: item.headImgUrl,
id: item.userId,

@ -6,6 +6,7 @@ import 'package:recook/constants/api_v2.dart';
import 'package:recook/manager/http_manager.dart';
import 'package:recook/manager/user_manager.dart';
import 'package:recook/pages/user/model/user_common_model.dart';
import 'package:recook/pages/user/widget/user_group_card_detail_page.dart';
import 'package:recook/utils/user_level_tool.dart';
import 'package:recook/constants/header.dart';
import 'package:recook/widgets/alert.dart';
@ -14,7 +15,9 @@ import 'package:velocity_x/velocity_x.dart';
class GroupInviteCard extends StatelessWidget {
final UserCommonModel model;
const GroupInviteCard({Key key, @required this.model}) : super(key: key);
final bool canTap;
const GroupInviteCard({Key key, @required this.model, this.canTap = false})
: super(key: key);
_renderItem(String asset, String value) {
String displayValue = value;
if (displayValue?.isEmpty ?? true) {
@ -148,7 +151,7 @@ class GroupInviteCard extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Row(
final widget = Row(
children: [
16.wb,
Column(
@ -187,11 +190,10 @@ class GroupInviteCard extends StatelessWidget {
5.hb,
Row(
children: [
_renderItem(
R.ASSETS_USER_ICON_GROUP_PNG, model.count.toString()),
_renderItem(R.ASSETS_USER_ICON_GROUP_PNG, model.countValue),
_renderItem(
R.ASSETS_USER_ICON_MONEY_PNG,
model.amount.toStringAsFixed(2),
model.amountValue,
),
],
),
@ -201,21 +203,30 @@ class GroupInviteCard extends StatelessWidget {
Column(
mainAxisAlignment: MainAxisAlignment.start,
children: [
if (model.isRecommand)
MaterialButton(
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
minWidth: 0,
padding: EdgeInsets.symmetric(horizontal: 20.w, vertical: 12.w),
child: Image.asset(
R.ASSETS_USER_USER_RECOMMEND_SINGLE_PNG,
height: 17.w,
),
onPressed: upgradeFunc,
),
model.isRecommand
? MaterialButton(
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
minWidth: 0,
padding:
EdgeInsets.symmetric(horizontal: 20.w, vertical: 12.w),
child: Image.asset(
R.ASSETS_USER_USER_RECOMMEND_SINGLE_PNG,
height: 17.w,
width: 17.w,
),
onPressed: upgradeFunc,
)
: 57.wb,
44.hb,
],
),
],
);
return GestureDetector(
onTap: () {
if (canTap) Get.to(() => UserGroupCardDetailPage(id: model.userId));
},
child: widget,
);
}
}

@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:recook/manager/user_manager.dart';
import 'package:recook/pages/user/functions/user_func.dart';
import 'package:recook/pages/user/invite/group_invite_card.dart';
import 'package:recook/pages/user/model/user_common_model.dart';
@ -204,7 +205,34 @@ class _MyGroupPageV2State extends State<MyGroupPageV2> {
20.wb,
],
),
..._models.map((e) => GroupInviteCard(model: e)).toList(),
..._models
.map((e) => GroupInviteCard(
model: e, canTap: usersMode == UsersMode.MY_GROUP))
.toList()
..insertAll(
0,
usersMode == UsersMode.MY_GROUP
? [
GroupInviteCard(
model: UserCommonModel(
remarkName: '本人',
nickname:
UserManager.instance.user.info.nickname,
phone: UserManager.instance.user.info.mobile,
headImgUrl:
UserManager.instance.user.info.headImgUrl,
wechatNo:
UserManager.instance.user.info.wechatNo,
userId: UserManager.instance.user.info.id,
flag: 0,
amount: -1,
count: -1,
roleLevel:
UserManager.instance.user.info.roleLevel,
),
canTap: false)
]
: []),
],
),
margin: EdgeInsets.symmetric(horizontal: 16.w),

@ -1,3 +1,4 @@
import 'package:flutter/foundation.dart';
import 'package:recook/utils/user_level_tool.dart';
class UserCommonModel {
@ -16,17 +17,31 @@ class UserCommonModel {
bool get isRecommand => flag == 1;
String get countValue {
if (count == -1)
return '';
else
return (count ?? 0).toString();
}
String get amountValue {
if (amount == -1)
return '';
else
return (amount ?? 0.0).toStringAsFixed(2);
}
UserCommonModel({
this.userId,
this.headImgUrl,
this.nickname,
this.phone,
this.wechatNo,
this.remarkName,
this.count,
this.roleLevel,
this.flag,
this.amount,
@required this.userId,
@required this.headImgUrl,
@required this.nickname,
@required this.phone,
@required this.wechatNo,
@required this.remarkName,
@required this.count,
@required this.roleLevel,
@required this.flag,
@required this.amount,
});
UserCommonModel.fromJson(Map<String, dynamic> json) {

Loading…
Cancel
Save