import 'dart:convert'; import 'package:bbyyy/beans/my_shop_bean_entity.dart'; import 'package:bbyyy/https/MyDio.dart'; import 'package:bbyyy/https/url.dart'; import 'package:bbyyy/my_tools/dims.dart'; import 'package:bbyyy/my_tools/my_colors.dart'; import 'package:bbyyy/my_tools/my_cookie.dart'; import 'package:bbyyy/my_tools/my_tools.dart'; import 'package:bbyyy/my_tools/my_views.dart'; import 'package:bbyyy/paegs/mine_page/referrer_page/referrer_flow_page.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; class ReferrerPage extends StatefulWidget { MyShopBeanDataData data; ReferrerPage({this.data}); @override _ReferrerPageState createState() => _ReferrerPageState(); } class _ReferrerPageState extends State { List memberList = []; @override void initState() { super.initState(); queryRecommender(); } @override Widget build(BuildContext context) { return Scaffold( body: Column( children: [ MyViews().myAppBar('推荐人列表', context, []), Expanded( child: ListView.builder( itemBuilder: (BuildContext context, int index) { return GestureDetector( onTap: (){ MyTools().toPage(context, ReferrerFlowPage(memberList[index]), (then){}); }, behavior: HitTestBehavior.translucent, child: Container( padding: EdgeInsets.only(left: 15, right: 15), color: Colors.white, child: Column( children: [ Container( margin: EdgeInsets.only(top: 8, bottom: 6), child: Row( children: [ Row( children: [ Container( margin: EdgeInsets.only(right: 6), child: ClipRRect( child: MyViews().netImg( imgURL(memberList[index].recommenderPic), 42, 42), borderRadius: BorderRadius.circular(21), ), ), MyViews().myText( '${memberList[index].recommenderName} (${memberList[index].recommenderUid})', MyColors.c333333, 15), ], ), ], mainAxisAlignment: MainAxisAlignment.spaceBetween, ), ), Container( height: 0.5, color: MyColors.cE7E7E7, ) ], ), ), ); }, itemCount: memberList.length, padding: EdgeInsets.symmetric(vertical: 10), )) ], ), ); } void queryRecommender() { var conditions = [ "review_state==1", "private_shop==true", "recommender_uid!=0" ]; if(widget.data!=null){ conditions.add('shop_uid == ${widget.data.shopUid}'); conditions.add('owner_uid==${widget.data.ownerUid}'); }else{ conditions.add("owner_uid==${MyCookie().getUID()}"); } MyDio().query({ "key": "shop_user", "filters": { "conditions": conditions }, "dims": shopUserDims, "paging": [1, 2000] }, (response, hasError) { if (!hasError) { MyShopBeanEntity entity = MyShopBeanEntity().fromJson(json.decode(response.data.toString())); entity.data.data.forEach((element) { int a = memberList.indexWhere( (e) => e.recommenderUid == element.recommenderUid); if (a == -1) { memberList.add(element); } }); setState(() {}); } }, (error) {}); } }