referrer_page.dart 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. import 'dart:convert';
  2. import 'package:bbyyy/beans/my_shop_bean_entity.dart';
  3. import 'package:bbyyy/https/MyDio.dart';
  4. import 'package:bbyyy/https/url.dart';
  5. import 'package:bbyyy/my_tools/dims.dart';
  6. import 'package:bbyyy/my_tools/my_colors.dart';
  7. import 'package:bbyyy/my_tools/my_cookie.dart';
  8. import 'package:bbyyy/my_tools/my_tools.dart';
  9. import 'package:bbyyy/my_tools/my_views.dart';
  10. import 'package:bbyyy/paegs/mine_page/referrer_page/referrer_flow_page.dart';
  11. import 'package:flutter/cupertino.dart';
  12. import 'package:flutter/material.dart';
  13. class ReferrerPage extends StatefulWidget {
  14. MyShopBeanDataData data;
  15. ReferrerPage({this.data});
  16. @override
  17. _ReferrerPageState createState() => _ReferrerPageState();
  18. }
  19. class _ReferrerPageState extends State<ReferrerPage> {
  20. List<MyShopBeanDataData> memberList = [];
  21. @override
  22. void initState() {
  23. super.initState();
  24. queryRecommender();
  25. }
  26. @override
  27. Widget build(BuildContext context) {
  28. return Scaffold(
  29. body: Column(
  30. children: [
  31. MyViews().myAppBar('推荐人列表', context, []),
  32. Expanded(
  33. child: ListView.builder(
  34. itemBuilder: (BuildContext context, int index) {
  35. return GestureDetector(
  36. onTap: (){
  37. MyTools().toPage(context, ReferrerFlowPage(memberList[index]), (then){});
  38. },
  39. behavior: HitTestBehavior.translucent,
  40. child: Container(
  41. padding: EdgeInsets.only(left: 15, right: 15),
  42. color: Colors.white,
  43. child: Column(
  44. children: [
  45. Container(
  46. margin: EdgeInsets.only(top: 8, bottom: 6),
  47. child: Row(
  48. children: [
  49. Row(
  50. children: [
  51. Container(
  52. margin: EdgeInsets.only(right: 6),
  53. child: ClipRRect(
  54. child: MyViews().netImg(
  55. imgURL(memberList[index].recommenderPic),
  56. 42,
  57. 42),
  58. borderRadius: BorderRadius.circular(21),
  59. ),
  60. ),
  61. MyViews().myText(
  62. '${memberList[index].recommenderName} (${memberList[index].recommenderUid})',
  63. MyColors.c333333,
  64. 15),
  65. ],
  66. ),
  67. ],
  68. mainAxisAlignment: MainAxisAlignment.spaceBetween,
  69. ),
  70. ),
  71. Container(
  72. height: 0.5,
  73. color: MyColors.cE7E7E7,
  74. )
  75. ],
  76. ),
  77. ),
  78. );
  79. },
  80. itemCount: memberList.length,
  81. padding: EdgeInsets.symmetric(vertical: 10),
  82. ))
  83. ],
  84. ),
  85. );
  86. }
  87. void queryRecommender() {
  88. var conditions = [
  89. "review_state==1",
  90. "private_shop==true",
  91. "recommender_uid!=0"
  92. ];
  93. if(widget.data!=null){
  94. conditions.add('shop_uid == ${widget.data.shopUid}');
  95. conditions.add('owner_uid==${widget.data.ownerUid}');
  96. }else{
  97. conditions.add("owner_uid==${MyCookie().getUID()}");
  98. }
  99. MyDio().query({
  100. "key": "shop_user",
  101. "filters": {
  102. "conditions": conditions
  103. },
  104. "dims": shopUserDims,
  105. "paging": [1, 2000]
  106. }, (response, hasError) {
  107. if (!hasError) {
  108. MyShopBeanEntity entity =
  109. MyShopBeanEntity.fromJson(json.decode(response.data.toString()));
  110. entity.data.data.forEach((element) {
  111. int a = memberList.indexWhere(
  112. (e) => e.recommenderUid == element.recommenderUid);
  113. if (a == -1) {
  114. memberList.add(element);
  115. }
  116. });
  117. setState(() {});
  118. }
  119. }, (error) {});
  120. }
  121. }