huxiaoqiang 4 éve
szülő
commit
e86cd460ca

+ 4 - 4
lib/my_tools/const.dart

@@ -5,10 +5,10 @@ int userStateBanned = 2; //被封
 int userStateRemoved = 3; //被移除
 
 //店铺成员角色类型
-int shopUserOwner = 0; //店主
-int shopUserStaff = 1; //客服
-int shopUserMember = 2; //顾客
-int shopUserPartner = 3; //合伙人
+const int shopUserOwner = 0; //店主
+const int shopUserStaff = 1; //客服
+const int shopUserMember = 2; //顾客
+const int shopUserPartner = 3; //合伙人
 
 //用户在店铺中的审核状态
 int shopUserReviewing = 0; //审核中

+ 5 - 6
lib/my_tools/my_views.dart

@@ -20,6 +20,7 @@ import 'package:bbyyy/my_tools/global.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/role_permissions.dart';
 import 'package:bbyyy/paegs/gang_page/application_details_page/application_details_page.dart';
 import 'package:bbyyy/paegs/gang_page/gang_in_page/gang_in_page.dart';
 import 'package:bbyyy/paegs/mine_page/order_page/apply_for_compensation_page/apply_for_compensation_page.dart';
@@ -317,7 +318,7 @@ class MyViews {
 
   //我的订单、店铺订单item
   Widget getNoPayGoodsItem(
-      SmartOrderBeanDataData data, BuildContext context, int ownerUid) {
+      SmartOrderBeanDataData data, BuildContext context, int ownerUid,int role) {
     return Container(
       margin: EdgeInsets.only(bottom: 10),
       decoration: BoxDecoration(
@@ -383,7 +384,7 @@ class MyViews {
                   onTap: () {
                     if (data.buyerName.contains(MyCookie().getName()) ||
                         MyCookie().getName().contains(data.buyerName) ||
-                        MyCookie().getUID() == ownerUid) {
+                        paymentAuthority(role)) {
                       MyTools().toPage(
                           context,
                           OrderInformationPage(
@@ -1460,13 +1461,11 @@ class MyViews {
                       visible: data.role != shopUserMember,
                       child: Container(
                         decoration: BoxDecoration(
-                            color: data.role == shopUserStaff
-                                ? MyColors.cFF4233
-                                : MyColors.cFFCD00,
+                            color:  MyColors.cFFCD00,
                             borderRadius: BorderRadius.circular(8)),
                         height: 16,
                         padding: EdgeInsets.symmetric(horizontal: 4),
-                        child: myText(data.role == shopUserOwner ? "帮主" : "合伙人",
+                        child: myText(roleText(data.role),
                             Colors.white, 10),
                         alignment: Alignment.center,
                         margin: EdgeInsets.only(left: 5),

+ 211 - 0
lib/my_tools/role_permissions.dart

@@ -0,0 +1,211 @@
+import 'const.dart';
+
+//代支付权限 店主 客服 合伙人
+bool paymentAuthority(int role) {
+  switch (role) {
+    case shopUserOwner: //店主
+      return true;
+      break;
+    case shopUserStaff: //客服
+      return true;
+      break;
+    case shopUserMember: //顾客
+      return false;
+      break;
+    case shopUserPartner: //合伙人
+      return true;
+      break;
+    default:
+      return false;
+      break;
+  }
+}
+
+//添加成员权限 店主 客服 合伙人
+bool addMemberPermissions(int role){
+  switch (role) {
+    case shopUserOwner: //店主
+      return true;
+      break;
+    case shopUserStaff: //客服
+      return true;
+      break;
+    case shopUserMember: //顾客
+      return false;
+      break;
+    case shopUserPartner: //合伙人
+      return true;
+      break;
+    default:
+      return false;
+      break;
+  }
+}
+
+//设置客服权限 店主
+bool setCustomerServicePermissions(int role){
+  switch (role) {
+    case shopUserOwner: //店主
+      return true;
+      break;
+    case shopUserStaff: //客服
+      return false;
+      break;
+    case shopUserMember: //顾客
+      return false;
+      break;
+    case shopUserPartner: //合伙人
+      return false;
+      break;
+    default:
+      return false;
+      break;
+  }
+}
+
+//设置合伙人权限 店主
+bool setUpPartnerPermissions(int role){
+  switch (role) {
+    case shopUserOwner: //店主
+      return true;
+      break;
+    case shopUserStaff: //客服
+      return false;
+      break;
+    case shopUserMember: //顾客
+      return false;
+      break;
+    case shopUserPartner: //合伙人
+      return false;
+      break;
+    default:
+      return false;
+      break;
+  }
+}
+
+//设置推荐人权限 店主 客服 合伙人
+bool setReferrerPermissions(int role){
+  switch (role) {
+    case shopUserOwner: //店主
+      return true;
+      break;
+    case shopUserStaff: //客服
+      return true;
+      break;
+    case shopUserMember: //顾客
+      return false;
+      break;
+    case shopUserPartner: //合伙人
+      return true;
+      break;
+    default:
+      return false;
+      break;
+  }
+}
+
+//修改顾客名称权限 店主 客服 合伙人
+bool permissionToModifyCustomerName(int role){
+  switch (role) {
+    case shopUserOwner: //店主
+      return true;
+      break;
+    case shopUserStaff: //客服
+      return true;
+      break;
+    case shopUserMember: //顾客
+      return false;
+      break;
+    case shopUserPartner: //合伙人
+      return true;
+      break;
+    default:
+      return false;
+      break;
+  }
+}
+
+//查看店铺流水权限 店主 合伙人
+bool checkStoreFlowPermissions(int role){
+  switch (role) {
+    case shopUserOwner: //店主
+      return true;
+      break;
+    case shopUserStaff: //客服
+      return false;
+      break;
+    case shopUserMember: //顾客
+      return false;
+      break;
+    case shopUserPartner: //合伙人
+      return true;
+      break;
+    default:
+      return false;
+      break;
+  }
+}
+
+//查看推荐人流水权限 店主 合伙人
+bool viewReferralAuthority(int role){
+  switch (role) {
+    case shopUserOwner: //店主
+      return true;
+      break;
+    case shopUserStaff: //客服
+      return false;
+      break;
+    case shopUserMember: //顾客
+      return false;
+      break;
+    case shopUserPartner: //合伙人
+      return true;
+      break;
+    default:
+      return false;
+      break;
+  }
+}
+
+//查看店铺顾客 店主 客服 合伙人
+bool viewShopCustomers(int role){
+  switch (role) {
+    case shopUserOwner: //店主
+      return true;
+      break;
+    case shopUserStaff: //客服
+      return true;
+      break;
+    case shopUserMember: //顾客
+      return false;
+      break;
+    case shopUserPartner: //合伙人
+      return true;
+      break;
+    default:
+      return false;
+      break;
+  }
+}
+
+//roleText
+String roleText(int role){
+  switch (role) {
+    case shopUserOwner: //店主
+      return '店主';
+      break;
+    case shopUserStaff: //客服
+      return '客服';
+      break;
+    case shopUserMember: //顾客
+      return '顾客';
+      break;
+    case shopUserPartner: //合伙人
+      return '合伙人';
+      break;
+    default:
+      return '';
+      break;
+  }
+}

+ 16 - 23
lib/paegs/gang_page/gang_in_page/gang_in_page.dart

@@ -20,6 +20,7 @@ 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/my_tools/pop_up_queue.dart';
+import 'package:bbyyy/my_tools/role_permissions.dart';
 import 'package:bbyyy/paegs/chat_page/chat_page.dart';
 import 'package:bbyyy/paegs/gang_page/gang_in_page/gang_information_page/add_member_page/add_member_page.dart';
 import 'package:bbyyy/paegs/gang_page/gang_in_page/pay_to_the_helper_page/pay_to_the_helper_page.dart';
@@ -87,7 +88,7 @@ class _GangInPageState extends State<GangInPage> {
         });
       }
     });
-    if (widget.data.ownerUid == MyCookie().getUID()) {
+    if (paymentAuthority(widget.data.role)) {
       selectedIndex = 1;
     }
     queryWhetherToFollow();
@@ -255,7 +256,7 @@ class _GangInPageState extends State<GangInPage> {
                       ],
                     ),
                   ),
-                  if (MyCookie().getUID() == widget.data.ownerUid)
+                  if (addMemberPermissions(widget.data.role))
                     PopupMenuItem<String>(
                       value: '扫一扫',
                       child: Row(
@@ -298,8 +299,7 @@ class _GangInPageState extends State<GangInPage> {
                         ],
                       ),
                     ),
-                  if (MyCookie().getUID() == widget.data.ownerUid ||
-                      widget.data.role == shopUserPartner)
+                  if (checkStoreFlowPermissions(widget.data.role))
                     PopupMenuItem<String>(
                       value: '货帮流水',
                       child: Row(
@@ -320,8 +320,7 @@ class _GangInPageState extends State<GangInPage> {
                         ],
                       ),
                     ),
-                  if (MyCookie().getUID() == widget.data.ownerUid ||
-                      widget.data.role == shopUserPartner)
+                  if (viewReferralAuthority(widget.data.role))
                     PopupMenuItem<String>(
                       value: '推荐人',
                       child: Row(
@@ -520,7 +519,7 @@ class _GangInPageState extends State<GangInPage> {
           ),
           Visibility(
             visible: widget.data.privateShop ||
-                widget.data.ownerUid == MyCookie().getUID(),
+                paymentAuthority(widget.data.role),
             child: Container(
               height: 40,
               color: Colors.white,
@@ -576,7 +575,7 @@ class _GangInPageState extends State<GangInPage> {
                         child: Column(
                           children: [
                             Text(
-                              widget.data.ownerUid == MyCookie().getUID()
+                              paymentAuthority(widget.data.role)
                                   ? '未付订单'
                                   : '未收订单',
                               style: TextStyle(
@@ -613,7 +612,7 @@ class _GangInPageState extends State<GangInPage> {
                         child: Column(
                           children: [
                             Text(
-                              widget.data.ownerUid == MyCookie().getUID()
+                              paymentAuthority(widget.data.role)
                                   ? '已付订单'
                                   : '未付订单',
                               style: TextStyle(
@@ -808,9 +807,9 @@ class _GangInPageState extends State<GangInPage> {
                   itemBuilder: (c, index) {
                     return Slidable(
                       child: MyViews().getNoPayGoodsItem(
-                          orders[index], context, widget.data.ownerUid),
+                          orders[index], context, widget.data.ownerUid,widget.data.role),
                       actionPane: SlidableDrawerActionPane(),
-                      enabled: widget.data.ownerUid == MyCookie().getUID(),
+                      enabled: paymentAuthority(widget.data.role),
                       actionExtentRatio: 0.25,
                       secondaryActions: <Widget>[
                         SlideAction(
@@ -860,7 +859,7 @@ class _GangInPageState extends State<GangInPage> {
                   itemBuilder: (c, index) {
                     return Slidable(
                       child: MyViews().getNoPayGoodsItem(
-                          orders[index], context, widget.data.ownerUid),
+                          orders[index], context, widget.data.ownerUid,widget.data.role),
                       actionPane: SlidableDrawerActionPane(),
                       enabled: orders[index].type == orderTypeOfflineTransfer &&
                           orders[index].buyerUid == MyCookie().getUID(),
@@ -915,7 +914,7 @@ class _GangInPageState extends State<GangInPage> {
                     itemBuilder: (c, index) {
                       return GestureDetector(
                         onTap: () {
-                          if (MyCookie().getUID() == store.ownerUid) {
+                          if (permissionToModifyCustomerName(widget.data.role)) {
                             if (MyCookie().getUID() != member[index].userUid) {
                               MyTools().toPage(
                                   context, MemberDetailsPage(member[index]),
@@ -959,20 +958,14 @@ class _GangInPageState extends State<GangInPage> {
                                               shopUserMember,
                                           child: Container(
                                             decoration: BoxDecoration(
-                                                color: member[index].role ==
-                                                        shopUserStaff
-                                                    ? MyColors.cFF4233
-                                                    : MyColors.cFFCD00,
+                                                color:  MyColors.cFFCD00,
                                                 borderRadius:
                                                     BorderRadius.circular(8)),
                                             height: 16,
                                             padding: EdgeInsets.symmetric(
                                                 horizontal: 5),
                                             child: MyViews().myText(
-                                                member[index].role ==
-                                                        shopUserOwner
-                                                    ? "帮主"
-                                                    : "合伙人",
+                                                roleText(member[index].role),
                                                 Colors.white,
                                                 10),
                                             alignment: Alignment.center,
@@ -1085,7 +1078,7 @@ class _GangInPageState extends State<GangInPage> {
   //查询未收订单
   void unreceivedOrder() {
     var conditions = [];
-    if (widget.data.ownerUid == MyCookie().getUID()) {
+    if (paymentAuthority(widget.data.role)) {
       conditions.add('state == $orderStateUnpaid');
       conditions.add('shop_uid == ${widget.data.shopUid}');
     } else {
@@ -1116,7 +1109,7 @@ class _GangInPageState extends State<GangInPage> {
   //查询未付订单
   void unpaidOrder() {
     var conditions = [];
-    if (widget.data.ownerUid == MyCookie().getUID()) {
+    if (paymentAuthority(widget.data.role)) {
       conditions.add('state == $orderStatePaid');
       conditions.add('shop_uid == ${widget.data.shopUid}');
     } else {

+ 245 - 233
lib/paegs/gang_page/gang_in_page/gang_information_page/gang_information_page.dart

@@ -11,6 +11,7 @@ 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/my_tools/role_permissions.dart';
 import 'package:bbyyy/paegs/gang_page/gang_in_page/gang_announcement_page/gang_announcement_page.dart';
 import 'package:bbyyy/paegs/gang_page/gang_in_page/gang_commission_page/gang_commission_page.dart';
 import 'package:bbyyy/paegs/gang_page/gang_in_page/gang_information_page/add_member_page/add_member_page.dart';
@@ -28,6 +29,7 @@ import 'package:flutter/material.dart';
 import 'package:flutter_svg/flutter_svg.dart';
 import 'package:pull_to_refresh/pull_to_refresh.dart';
 import 'package:url_launcher/url_launcher.dart';
+import 'add_assistant_page/add_assistant_page.dart';
 import 'add_template_page/add_template_page.dart';
 
 class GangInformationPage extends StatefulWidget {
@@ -285,8 +287,9 @@ class _GangInformationPageState extends State<GangInformationPage> {
                         ),
                       ),
                     ),
+                    //合伙人
                     Visibility(
-                      visible: MyCookie().getUID()==widget.data.ownerUid||widget.data.role==shopUserPartner,
+                      visible: viewShopCustomers(widget.data.role)?true:!hideMember,
                       child: Container(
                         padding: EdgeInsets.only(
                           top: 9,
@@ -327,9 +330,9 @@ class _GangInformationPageState extends State<GangInformationPage> {
                                   GestureDetector(
                                     onTap: () {
                                       MyTools().toPage(
-                                          context, MemberListPage(store, true,isPartner: true,),
+                                          context, MemberListPage(store, true,widget.data,isPartner: true,),
                                               (then) {
-                                            controller.requestRefresh();
+                                            controller.requestRefresh(needMove: false);
                                           });
                                     },
                                     behavior: HitTestBehavior.translucent,
@@ -356,18 +359,17 @@ class _GangInformationPageState extends State<GangInformationPage> {
                                       mainAxisSpacing: 0,
                                       crossAxisSpacing: 0),
                                   itemCount:
-                                  widget.data.ownerUid == MyCookie().getUID()
-                                      ? partner.length + 2 > 15
-                                      ? 15
+                                  setUpPartnerPermissions(widget.data.role)
+                                      ? partner.length + 2 > 5
+                                      ? 5
                                       : partner.length + 2
-                                      : partner.length > 15
-                                      ? 15
+                                      : partner.length > 5
+                                      ? 5
                                       : partner.length,
                                   physics: NeverScrollableScrollPhysics(),
                                   padding: EdgeInsets.all(0),
                                   itemBuilder: (context, index) {
-                                    if (widget.data.ownerUid ==
-                                        MyCookie().getUID()) {
+                                    if (setUpPartnerPermissions(widget.data.role)) {
                                       if (partner.length + 2 > 15) {
                                         if (index < 13) {
                                           return MyViews().getMembersItem(
@@ -490,8 +492,228 @@ class _GangInformationPageState extends State<GangInformationPage> {
                         margin: EdgeInsets.only(top: 3),
                       ),
                     ),
+                    //助手
                     Visibility(
-                      visible: MyCookie().getUID()==widget.data.ownerUid?true:!hideMember,
+                      visible: viewShopCustomers(widget.data.role)?true:!hideMember,
+                      child: Container(
+                        padding: EdgeInsets.only(
+                          top: 9,
+                        ),
+                        height: MediaQuery.of(context).size.width /
+                            5 *
+                            ((helper.length +
+                                (widget.data.ownerUid ==
+                                    MyCookie().getUID()
+                                    ? 2
+                                    : 0)) >
+                                15
+                                ? 3
+                                : ((helper.length +
+                                (widget.data.ownerUid ==
+                                    MyCookie().getUID()
+                                    ? 2
+                                    : 0)) /
+                                5.0)
+                                .ceil()) +
+                            44,
+                        color: Colors.white,
+                        child: Column(
+                          children: [
+                            Container(
+                              padding: EdgeInsets.symmetric(horizontal: 16),
+                              margin: EdgeInsets.only(bottom: 15),
+                              height: 20,
+                              child: Row(
+                                children: [
+                                  Expanded(
+                                    child: Text(
+                                      '货帮助手',
+                                      style: TextStyle(
+                                          color: MyColors.c333333, fontSize: 15),
+                                    ),
+                                  ),
+                                  GestureDetector(
+                                    onTap: () {
+                                      MyTools().toPage(
+                                          context,
+                                          MemberListPage(store, false,widget.data,isPartner: false),
+                                              (then) {});
+                                    },
+                                    behavior: HitTestBehavior.translucent,
+                                    child: Container(
+                                      margin: EdgeInsets.only(right: 10),
+                                      child: Text(
+                                        '查看${helper.length}名货帮助手',
+                                        style: TextStyle(
+                                            color: MyColors.c666666,
+                                            fontSize: 13),
+                                      ),
+                                    ),
+                                  ),
+                                  SvgPicture.asset('images/svg/箭头.svg')
+                                ],
+                              ),
+                            ),
+                            Expanded(
+                              child: GridView.builder(
+                                  gridDelegate:
+                                  SliverGridDelegateWithFixedCrossAxisCount(
+                                      crossAxisCount: 5,
+                                      childAspectRatio: 1,
+                                      mainAxisSpacing: 0,
+                                      crossAxisSpacing: 0),
+                                  itemCount:setCustomerServicePermissions(widget.data.role)
+                                      ? helper.length + 2 > 5
+                                      ? 5
+                                      : helper.length + 2
+                                      : helper.length > 5
+                                      ? 5
+                                      : helper.length,
+                                  physics: NeverScrollableScrollPhysics(),
+                                  padding: EdgeInsets.all(0),
+                                  itemBuilder: (context, index) {
+                                    if (setCustomerServicePermissions(widget.data.role)) {
+                                      if (helper.length + 2 > 5) {
+                                        if (index < 3) {
+                                          return MyViews().getMembersItem(
+                                              helper[index], context);
+                                        } else if (index == 3) {
+                                          return GestureDetector(
+                                            onTap: () {
+                                              MyTools().toPage(context,
+                                                  AddAssistantPage(store, false),
+                                                      (then) {
+                                                    queryShopMembers();
+                                                  });
+                                            },
+                                            behavior: HitTestBehavior.translucent,
+                                            child: Column(
+                                              children: [
+                                                SvgPicture.asset(
+                                                  'images/svg/移除好友.svg',
+                                                  height: 40,
+                                                  width: 40,
+                                                ),
+                                                Container(
+                                                  child: Text(
+                                                    '移除助手',
+                                                    style: TextStyle(
+                                                        color: MyColors.c666666,
+                                                        fontSize: 12),
+                                                  ),
+                                                  margin: EdgeInsets.only(top: 8),
+                                                )
+                                              ],
+                                            ),
+                                          );
+                                        } else {
+                                          return GestureDetector(
+                                            onTap: () {
+                                              MyTools().toPage(context,
+                                                  AddAssistantPage(store, true),
+                                                      (then) {
+                                                    queryShopMembers();
+                                                  });
+                                            },
+                                            behavior: HitTestBehavior.translucent,
+                                            child: Column(
+                                              children: [
+                                                SvgPicture.asset(
+                                                  'images/svg/邀请好友.svg',
+                                                  height: 40,
+                                                  width: 40,
+                                                ),
+                                                Container(
+                                                  child: Text(
+                                                    '添加助手',
+                                                    style: TextStyle(
+                                                        color: MyColors.c666666,
+                                                        fontSize: 12),
+                                                  ),
+                                                  margin: EdgeInsets.only(top: 8),
+                                                )
+                                              ],
+                                            ),
+                                          );
+                                        }
+                                      } else {
+                                        if (index < helper.length) {
+                                          return MyViews().getMembersItem(
+                                              helper[index], context);
+                                        } else if (index == helper.length) {
+                                          return GestureDetector(
+                                            onTap: () {
+                                              MyTools().toPage(context,
+                                                  AddAssistantPage(store, false),
+                                                      (then) {
+                                                    queryShopMembers();
+                                                  });
+                                            },
+                                            behavior: HitTestBehavior.translucent,
+                                            child: Column(
+                                              children: [
+                                                SvgPicture.asset(
+                                                  'images/svg/移除好友.svg',
+                                                  height: 40,
+                                                  width: 40,
+                                                ),
+                                                Container(
+                                                  child: Text(
+                                                    '移除助手',
+                                                    style: TextStyle(
+                                                        color: MyColors.c666666,
+                                                        fontSize: 12),
+                                                  ),
+                                                  margin: EdgeInsets.only(top: 8),
+                                                )
+                                              ],
+                                            ),
+                                          );
+                                        } else {
+                                          return GestureDetector(
+                                            onTap: () {
+                                              MyTools().toPage(context,
+                                                  AddAssistantPage(store, true),
+                                                      (then) {
+                                                    queryShopMembers();
+                                                  });
+                                            },
+                                            behavior: HitTestBehavior.translucent,
+                                            child: Column(
+                                              children: [
+                                                SvgPicture.asset(
+                                                  'images/svg/邀请好友.svg',
+                                                  height: 40,
+                                                  width: 40,
+                                                ),
+                                                Container(
+                                                  child: Text(
+                                                    '添加助手',
+                                                    style: TextStyle(
+                                                        color: MyColors.c666666,
+                                                        fontSize: 12),
+                                                  ),
+                                                  margin: EdgeInsets.only(top: 8),
+                                                )
+                                              ],
+                                            ),
+                                          );
+                                        }
+                                      }
+                                    } else {
+                                      return MyViews()
+                                          .getMembersItem(helper[index], context);
+                                    }
+                                  }),
+                            )
+                          ],
+                        ),
+                        margin: EdgeInsets.only(top: 3),
+                      ),
+                    ),
+                    //成员
+                    Visibility(
+                      visible: viewShopCustomers(widget.data.role)?true:!hideMember,
                       child: Container(
                         padding: EdgeInsets.only(
                           top: 9,
@@ -532,9 +754,9 @@ class _GangInformationPageState extends State<GangInformationPage> {
                                   GestureDetector(
                                     onTap: () {
                                       MyTools().toPage(
-                                          context, MemberListPage(store, true,isPartner: false,),
+                                          context, MemberListPage(store, true,widget.data,isPartner: false,),
                                           (then) {
-                                        controller.requestRefresh();
+                                        controller.requestRefresh(needMove: false);
                                       });
                                     },
                                     behavior: HitTestBehavior.translucent,
@@ -561,7 +783,7 @@ class _GangInformationPageState extends State<GangInformationPage> {
                                           mainAxisSpacing: 0,
                                           crossAxisSpacing: 0),
                                   itemCount:
-                                      widget.data.ownerUid == MyCookie().getUID()
+                                  addMemberPermissions(widget.data.role)
                                           ? member.length + 2 > 15
                                               ? 15
                                               : member.length + 2
@@ -571,8 +793,7 @@ class _GangInformationPageState extends State<GangInformationPage> {
                                   physics: NeverScrollableScrollPhysics(),
                                   padding: EdgeInsets.all(0),
                                   itemBuilder: (context, index) {
-                                    if (widget.data.ownerUid ==
-                                        MyCookie().getUID()) {
+                                    if (addMemberPermissions(widget.data.role)) {
                                       if (member.length + 2 > 15) {
                                         if (index < 13) {
                                           return MyViews().getMembersItem(
@@ -583,7 +804,7 @@ class _GangInformationPageState extends State<GangInformationPage> {
                                               MyTools().toPage(context,
                                                   RemoveMemberPage(store),
                                                   (then) {
-                                                controller.requestRefresh();
+                                                controller.requestRefresh(needMove: false);
                                               });
                                             },
                                             behavior: HitTestBehavior.translucent,
@@ -612,7 +833,7 @@ class _GangInformationPageState extends State<GangInformationPage> {
                                               MyTools().toPage(
                                                   context, AddMemberPage(store: store),
                                                   (then) {
-                                                controller.requestRefresh();
+                                                controller.requestRefresh(needMove: false);
                                               });
                                             },
                                             behavior: HitTestBehavior.translucent,
@@ -646,7 +867,7 @@ class _GangInformationPageState extends State<GangInformationPage> {
                                               MyTools().toPage(context,
                                                   RemoveMemberPage(store),
                                                   (then) {
-                                                controller.requestRefresh();
+                                                controller.requestRefresh(needMove: false);
                                               });
                                             },
                                             behavior: HitTestBehavior.translucent,
@@ -675,7 +896,7 @@ class _GangInformationPageState extends State<GangInformationPage> {
                                               MyTools().toPage(
                                                   context, AddMemberPage(store: store),
                                                   (then) {
-                                                controller.requestRefresh();
+                                                controller.requestRefresh(needMove: false);
                                               });
                                             },
                                             behavior: HitTestBehavior.translucent,
@@ -739,205 +960,6 @@ class _GangInformationPageState extends State<GangInformationPage> {
                         ),
                       ),
                     ),
-                    // Container(
-                    //   padding: EdgeInsets.only(
-                    //     top: 9,
-                    //   ),
-                    //   height: MediaQuery.of(context).size.width / 5 + 44,
-                    //   color: Colors.white,
-                    //   child: Column(
-                    //     children: [
-                    //       Container(
-                    //         padding: EdgeInsets.symmetric(horizontal: 16),
-                    //         margin: EdgeInsets.only(bottom: 15),
-                    //         height: 20,
-                    //         child: Row(
-                    //           children: [
-                    //             Expanded(
-                    //               child: Text(
-                    //                 '货帮助手',
-                    //                 style: TextStyle(
-                    //                     color: MyColors.c333333, fontSize: 15),
-                    //               ),
-                    //             ),
-                    //             GestureDetector(
-                    //               onTap: () {
-                    //                 MyTools().toPage(
-                    //                     context,
-                    //                     MemberListPage(store, false),
-                    //                     (then) {});
-                    //               },
-                    //               behavior: HitTestBehavior.translucent,
-                    //               child: Container(
-                    //                 margin: EdgeInsets.only(right: 10),
-                    //                 child: Text(
-                    //                   '查看${helper.length}名货帮助手',
-                    //                   style: TextStyle(
-                    //                       color: MyColors.c666666,
-                    //                       fontSize: 13),
-                    //                 ),
-                    //               ),
-                    //             ),
-                    //             SvgPicture.asset('images/svg/箭头.svg')
-                    //           ],
-                    //         ),
-                    //       ),
-                    //       Expanded(
-                    //         child: GridView.builder(
-                    //             gridDelegate:
-                    //                 SliverGridDelegateWithFixedCrossAxisCount(
-                    //                     crossAxisCount: 5,
-                    //                     childAspectRatio: 1,
-                    //                     mainAxisSpacing: 0,
-                    //                     crossAxisSpacing: 0),
-                    //             itemCount: widget.data.ownerUid == MyCookie().getUID()
-                    //                 ? helper.length + 2 > 5
-                    //                     ? 5
-                    //                     : helper.length + 2
-                    //                 : helper.length > 5
-                    //                     ? 5
-                    //                     : helper.length,
-                    //             physics: NeverScrollableScrollPhysics(),
-                    //             padding: EdgeInsets.all(0),
-                    //             itemBuilder: (context, index) {
-                    //               if (widget.data.ownerUid == MyCookie().getUID()) {
-                    //                 if (helper.length + 2 > 5) {
-                    //                   if (index < 3) {
-                    //                     return MyViews().getMembersItem(
-                    //                         helper[index], context);
-                    //                   } else if (index == 3) {
-                    //                     return GestureDetector(
-                    //                       onTap: () {
-                    //                         MyTools().toPage(context,
-                    //                             AddAssistantPage(store, false),
-                    //                             (then) {
-                    //                           queryShopMembers();
-                    //                         });
-                    //                       },
-                    //                       behavior: HitTestBehavior.translucent,
-                    //                       child: Column(
-                    //                         children: [
-                    //                           SvgPicture.asset(
-                    //                             'images/svg/移除好友.svg',
-                    //                             height: 40,
-                    //                             width: 40,
-                    //                           ),
-                    //                           Container(
-                    //                             child: Text(
-                    //                               '移除助手',
-                    //                               style: TextStyle(
-                    //                                   color: MyColors.c666666,
-                    //                                   fontSize: 12),
-                    //                             ),
-                    //                             margin: EdgeInsets.only(top: 8),
-                    //                           )
-                    //                         ],
-                    //                       ),
-                    //                     );
-                    //                   } else {
-                    //                     return GestureDetector(
-                    //                       onTap: () {
-                    //                         MyTools().toPage(context,
-                    //                             AddAssistantPage(store, true),
-                    //                             (then) {
-                    //                           queryShopMembers();
-                    //                         });
-                    //                       },
-                    //                       behavior: HitTestBehavior.translucent,
-                    //                       child: Column(
-                    //                         children: [
-                    //                           SvgPicture.asset(
-                    //                             'images/svg/邀请好友.svg',
-                    //                             height: 40,
-                    //                             width: 40,
-                    //                           ),
-                    //                           Container(
-                    //                             child: Text(
-                    //                               '添加助手',
-                    //                               style: TextStyle(
-                    //                                   color: MyColors.c666666,
-                    //                                   fontSize: 12),
-                    //                             ),
-                    //                             margin: EdgeInsets.only(top: 8),
-                    //                           )
-                    //                         ],
-                    //                       ),
-                    //                     );
-                    //                   }
-                    //                 } else {
-                    //                   if (index < helper.length) {
-                    //                     return MyViews().getMembersItem(
-                    //                         helper[index], context);
-                    //                   } else if (index == helper.length) {
-                    //                     return GestureDetector(
-                    //                       onTap: () {
-                    //                         MyTools().toPage(context,
-                    //                             AddAssistantPage(store, false),
-                    //                             (then) {
-                    //                           queryShopMembers();
-                    //                         });
-                    //                       },
-                    //                       behavior: HitTestBehavior.translucent,
-                    //                       child: Column(
-                    //                         children: [
-                    //                           SvgPicture.asset(
-                    //                             'images/svg/移除好友.svg',
-                    //                             height: 40,
-                    //                             width: 40,
-                    //                           ),
-                    //                           Container(
-                    //                             child: Text(
-                    //                               '移除助手',
-                    //                               style: TextStyle(
-                    //                                   color: MyColors.c666666,
-                    //                                   fontSize: 12),
-                    //                             ),
-                    //                             margin: EdgeInsets.only(top: 8),
-                    //                           )
-                    //                         ],
-                    //                       ),
-                    //                     );
-                    //                   } else {
-                    //                     return GestureDetector(
-                    //                       onTap: () {
-                    //                         MyTools().toPage(context,
-                    //                             AddAssistantPage(store, true),
-                    //                             (then) {
-                    //                           queryShopMembers();
-                    //                         });
-                    //                       },
-                    //                       behavior: HitTestBehavior.translucent,
-                    //                       child: Column(
-                    //                         children: [
-                    //                           SvgPicture.asset(
-                    //                             'images/svg/邀请好友.svg',
-                    //                             height: 40,
-                    //                             width: 40,
-                    //                           ),
-                    //                           Container(
-                    //                             child: Text(
-                    //                               '添加助手',
-                    //                               style: TextStyle(
-                    //                                   color: MyColors.c666666,
-                    //                                   fontSize: 12),
-                    //                             ),
-                    //                             margin: EdgeInsets.only(top: 8),
-                    //                           )
-                    //                         ],
-                    //                       ),
-                    //                     );
-                    //                   }
-                    //                 }
-                    //               } else {
-                    //                 return MyViews()
-                    //                     .getMembersItem(helper[index], context);
-                    //               }
-                    //             }),
-                    //       )
-                    //     ],
-                    //   ),
-                    //   margin: EdgeInsets.only(top: 3),
-                    // ),
                     Visibility(
                       visible: false,
                       //widget.data.ownerUid == MyCookie().getUID()
@@ -1072,7 +1094,7 @@ class _GangInformationPageState extends State<GangInformationPage> {
                       ),
                     ),
                     Visibility(
-                      visible: widget.data.ownerUid==MyCookie().getUID()||widget.data.role==shopUserPartner,
+                      visible: checkStoreFlowPermissions(widget.data.role),
                       child: GestureDetector(
                         onTap: () {
                           MyTools().toPage(context, ShopFlowPage(widget.data), (then){}
@@ -1120,7 +1142,7 @@ class _GangInformationPageState extends State<GangInformationPage> {
                                           PrivacyProtectionPropsPage(
                                               widget.data, vpKeyChatWaterMark),
                                           (then) {
-                                        controller.requestRefresh();
+                                        controller.requestRefresh(needMove: false);
                                       });
                                     }
                                   }),
@@ -1160,16 +1182,6 @@ class _GangInformationPageState extends State<GangInformationPage> {
                         ),
                       ),
                     ),
-                    /* Container(
-                      height: 50,
-                      color: Colors.white,
-                      margin: EdgeInsets.only(top: 3, bottom: 20),
-                      child: Text(
-                        '退出货帮',
-                        style: TextStyle(color: MyColors.cFF4233, fontSize: 16),
-                      ),
-                      alignment: Alignment.center,
-                    )*/
                   ],
                 ),
               ),
@@ -1272,13 +1284,13 @@ class _GangInformationPageState extends State<GangInformationPage> {
 
   void addPartner() {
     MyTools().toPage(context, AddPartnerPage(widget.data), (then){
-      controller.requestRefresh();
+      controller.requestRefresh(needMove: false);
     });
   }
 
   void removePartner() {
     MyTools().toPage(context, RemovePartnerPage(widget.data), (then){
-      controller.requestRefresh();
+      controller.requestRefresh(needMove: false);
     });
   }
 }

+ 4 - 3
lib/paegs/gang_page/gang_in_page/gang_information_page/member_list_page/member_list_page.dart

@@ -3,6 +3,7 @@ import 'dart:convert';
 
 import 'package:azlistview/azlistview.dart';
 import 'package:bbyyy/my_tools/const.dart';
+import 'package:bbyyy/my_tools/role_permissions.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_svg/svg.dart';
 import 'package:lpinyin/lpinyin.dart';
@@ -22,8 +23,8 @@ class MemberListPage extends StatefulWidget {
   StoreBeanDataData store;
   bool isAll;
   bool isPartner = false;
-
-  MemberListPage(this.store, this.isAll,{this.isPartner});
+  MyShopBeanDataData data;
+  MemberListPage(this.store, this.isAll,this.data,{this.isPartner});
 
   @override
   _MemberListPageState createState() => _MemberListPageState(store, isAll);
@@ -152,7 +153,7 @@ class _MemberListPageState extends State<MemberListPage> {
                             child: MyViews().getMemberListItems(
                                 widget.store, member[index], context),
                             onTap: () {
-                              if (MyCookie().getUID() == store.ownerUid) {
+                              if (permissionToModifyCustomerName(widget.data.role)) {
                                 if (MyCookie().getUID() !=
                                     member[index].userUid) {
                                   MyTools().toPage(

+ 1 - 1
lib/paegs/mine_page/mine_page.dart

@@ -496,7 +496,7 @@ class _MinePageState extends State<MinePage> {
       if (!hasError) {
         MyShopBeanEntity entity =
         MyShopBeanEntity().fromJson(json.decode(response.data.toString()));
-        if(entity.data.data==null||entity.data.data.isEmpty){
+        if(entity.data.data==null||entity.data.data.isEmpty||entity.data.data.length==0){
           showRe = false;
         }else{
           showRe = true;

+ 1 - 1
lib/paegs/mine_page/order_page/order_page.dart

@@ -174,7 +174,7 @@ class _OrderPageState extends State<OrderPage> {
                       itemBuilder: (c, index) {
                         return Slidable(
                           child: MyViews()
-                              .getNoPayGoodsItem(orders[index], context, -1),
+                              .getNoPayGoodsItem(orders[index], context, -1,-1),
                           actionPane: SlidableDrawerActionPane(),
                           enabled: selectedIndex == 0 || (orders[index].type == orderTypeOfflineTransfer && orders[index].buyerUid == MyCookie().getUID())||orders[index].buyerUid==MyCookie().getUID(),
                           actionExtentRatio: 0.25,

+ 1 - 1
pubspec.yaml

@@ -15,7 +15,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
 # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
 # Read more about iOS versioning at
 # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
-version: 1.1.08+1
+version: 1.1.09+1
 
 environment:
   sdk: ">=2.7.0 <3.0.0"