Commit bef51cb06e7a5b78f7533ac4bdb99354c83830c2

Authored by weixin_45529955
1 parent f053b1e3

解除微信绑定

@@ -60,6 +60,10 @@ class Constant { @@ -60,6 +60,10 @@ class Constant {
60 '管理员', 60 '管理员',
61 '店长', 61 '店长',
62 ], 62 ],
  63 + '解除绑定': [
  64 + '管理员',
  65 + '店长',
  66 + ],
63 '员工管理': [ 67 '员工管理': [
64 '管理员', 68 '管理员',
65 '店长', 69 '店长',
@@ -664,6 +664,10 @@ class HttpUrl { @@ -664,6 +664,10 @@ class HttpUrl {
664 664
665 static const get_free_meal_config_by_seller = 665 static const get_free_meal_config_by_seller =
666 "?service=App.Activity.GetFreeMealConfigBySeller"; // 获取当餐免费的配置信息 666 "?service=App.Activity.GetFreeMealConfigBySeller"; // 获取当餐免费的配置信息
  667 +static const clear_seller_user_wechat_bind =
  668 + "?service=App.Wechat.ClearSellerUserWechatBind"; // 解绑员工账号微信
  669 +
  670 +
667 671
668 672
669 673
@@ -170,6 +170,24 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> { @@ -170,6 +170,24 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> {
170 } 170 }
171 } 171 }
172 172
  173 + _clearSellerUserWechatBind({bool showLoading = true}) async {
  174 + Map<String, String?> params = {
  175 + "sid": Provider.of<UserModel>(context, listen: false).user!.sellerid,
  176 + "seller_user_id": '${data!.id}',
  177 + };
  178 +
  179 + bool success = await personnelProvider
  180 + .clearSellerUserWechatBind(context, params, showLoading: showLoading);
  181 + if (success) {
  182 + //刷新页面
  183 + _getAuthUserLists(showLoading: false);
  184 + Utils.showToast('解除绑定成功');
  185 + EventBus().emit('personnel_manage_page');
  186 + } else {
  187 + Utils.showToast('解除绑定失败');
  188 + }
  189 + }
  190 +
173 //获取员工信息列表 191 //获取员工信息列表
174 _getAuthUserLists({bool showLoading = true}) async { 192 _getAuthUserLists({bool showLoading = true}) async {
175 Map<String, String?> params = { 193 Map<String, String?> params = {
@@ -656,7 +674,7 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> { @@ -656,7 +674,7 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> {
656 _setSellerUserAccountType('1'); 674 _setSellerUserAccountType('1');
657 } 675 }
658 } else { 676 } else {
659 - Utils.showToast('您没有相关权限权限'); 677 + Utils.showToast('您没有相关操作权限');
660 } 678 }
661 }), 679 }),
662 Spacer(), 680 Spacer(),
@@ -672,7 +690,7 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> { @@ -672,7 +690,7 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> {
672 _setSellerUserAccountType('2'); 690 _setSellerUserAccountType('2');
673 } 691 }
674 } else { 692 } else {
675 - Utils.showToast('您没有相关权限权限'); 693 + Utils.showToast('您没有相关操作权限');
676 } 694 }
677 }), 695 }),
678 Spacer(), 696 Spacer(),
@@ -687,7 +705,7 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> { @@ -687,7 +705,7 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> {
687 _setSellerUserAccountType('3'); 705 _setSellerUserAccountType('3');
688 } 706 }
689 } else { 707 } else {
690 - Utils.showToast('您没有相关权限权限'); 708 + Utils.showToast('您没有相关操作权限');
691 } 709 }
692 }), 710 }),
693 HEmptyView(30), 711 HEmptyView(30),
@@ -746,6 +764,29 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> { @@ -746,6 +764,29 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> {
746 }), 764 }),
747 // if (data?.openid == null || data?.openid == 'null') 765 // if (data?.openid == null || data?.openid == 'null')
748 VEmptyView(48), 766 VEmptyView(48),
  767 + if (!(data?.openid == null || data?.openid == 'null'))
  768 + RoundButton(
  769 + text: '解除绑定',
  770 + gradientStart: wechatColor,
  771 + gradientEnd: wechatColor,
  772 + borderColor: wechatColor,
  773 + width: ScreenUtil().setWidth(80 * 2),
  774 + height: ScreenUtil().setWidth(30 * 2),
  775 + fontSize: 32,
  776 + isBold: true,
  777 + textColor: MyColours.color_ffffff,
  778 + radius: ScreenUtil().setWidth(12),
  779 + onPressed: () {
  780 + //
  781 + if (Utils.getAuthority(context, '解除绑定')) {
  782 + _clearSellerUserWechatBind();
  783 + } else {
  784 + Utils.showToast('您没有相关操作权限');
  785 + }
  786 + }),
  787 +
  788 + if (!(data?.openid == null || data?.openid == 'null'))
  789 + VEmptyView(48),
749 InkWell( 790 InkWell(
750 onTap: () { 791 onTap: () {
751 NavigatorUtil.goPersonnelPasswordEditPage(context, 792 NavigatorUtil.goPersonnelPasswordEditPage(context,
1 -  
2 import 'dart:ffi'; 1 import 'dart:ffi';
3 2
4 import 'package:cached_network_image/cached_network_image.dart'; 3 import 'package:cached_network_image/cached_network_image.dart';
@@ -135,18 +134,20 @@ class _PersonnelManagePageState extends State<PersonnelManagePage> { @@ -135,18 +134,20 @@ class _PersonnelManagePageState extends State<PersonnelManagePage> {
135 } else if (title == '客户经理') { 134 } else if (title == '客户经理') {
136 data = personnelProvider.dataMap!.manager!.listdata; 135 data = personnelProvider.dataMap!.manager!.listdata;
137 roleId = personnelProvider.dataMap!.manager!.roleId; 136 roleId = personnelProvider.dataMap!.manager!.roleId;
138 - hasWechatNum =  
139 - personnelProvider.dataMap!.manager!.hasWechatNum.toString(); 137 + hasWechatNum = personnelProvider
  138 + .dataMap!.manager!.hasWechatNum
  139 + .toString();
140 } else if (title == '收银员') { 140 } else if (title == '收银员') {
141 data = personnelProvider.dataMap!.cashier!.listdata; 141 data = personnelProvider.dataMap!.cashier!.listdata;
142 roleId = personnelProvider.dataMap!.cashier!.roleId; 142 roleId = personnelProvider.dataMap!.cashier!.roleId;
143 - hasWechatNum =  
144 - personnelProvider.dataMap!.cashier!.hasWechatNum.toString(); 143 + hasWechatNum = personnelProvider
  144 + .dataMap!.cashier!.hasWechatNum
  145 + .toString();
145 } else if (title == '服务员') { 146 } else if (title == '服务员') {
146 data = personnelProvider.dataMap!.waiter!.listdata; 147 data = personnelProvider.dataMap!.waiter!.listdata;
147 roleId = personnelProvider.dataMap!.waiter!.roleId; 148 roleId = personnelProvider.dataMap!.waiter!.roleId;
148 - hasWechatNum =  
149 - personnelProvider.dataMap!.waiter!.hasWechatNum.toString(); 149 + hasWechatNum = personnelProvider.dataMap!.waiter!.hasWechatNum
  150 + .toString();
150 } else if (title == '前台') { 151 } else if (title == '前台') {
151 data = personnelProvider.dataMap!.reception!.listdata; 152 data = personnelProvider.dataMap!.reception!.listdata;
152 roleId = personnelProvider.dataMap!.reception!.roleId; 153 roleId = personnelProvider.dataMap!.reception!.roleId;
@@ -156,8 +157,9 @@ class _PersonnelManagePageState extends State<PersonnelManagePage> { @@ -156,8 +157,9 @@ class _PersonnelManagePageState extends State<PersonnelManagePage> {
156 } else if (title == '迎宾') { 157 } else if (title == '迎宾') {
157 data = personnelProvider.dataMap!.welcome!.listdata; 158 data = personnelProvider.dataMap!.welcome!.listdata;
158 roleId = personnelProvider.dataMap!.welcome!.roleId; 159 roleId = personnelProvider.dataMap!.welcome!.roleId;
159 - hasWechatNum =  
160 - personnelProvider.dataMap!.welcome!.hasWechatNum.toString(); 160 + hasWechatNum = personnelProvider
  161 + .dataMap!.welcome!.hasWechatNum
  162 + .toString();
161 } 163 }
162 } 164 }
163 165
@@ -120,6 +120,26 @@ class PersonnelProvider extends ChangeNotifier { @@ -120,6 +120,26 @@ class PersonnelProvider extends ChangeNotifier {
120 } 120 }
121 } 121 }
122 122
  123 + /// 解绑员工账号微信
  124 + clearSellerUserWechatBind(BuildContext context, Map<String, String?> params,
  125 + {showLoading = false}) async {
  126 + try {
  127 + BaseResp<dynamic> baseResp = await DioUtil().request<dynamic>(
  128 + context, Method.post, HttpUrl.clear_seller_user_wechat_bind,
  129 + data: params, showLoading: showLoading);
  130 + if (baseResp != null && baseResp.code == Constant.status_success) {
  131 + return true;
  132 + } else {
  133 + Utils.showToast(baseResp.msg ?? "");
  134 + }
  135 +
  136 + return false;
  137 + } catch (error) {
  138 + print(error.toString());
  139 + }
  140 + return false;
  141 + }
  142 +
123 /// 获取角色列表 143 /// 获取角色列表
124 getSellerRoleList(BuildContext context, Map<String, String?> params, 144 getSellerRoleList(BuildContext context, Map<String, String?> params,
125 {showLoading = false}) async { 145 {showLoading = false}) async {