Commit 1ad6aabdae0f78a98893fd56eb20ec583e2b88d1

Authored by wdn127929
1 parent 2a7741d6

月度订单 全店和部分经理

@@ -225,7 +225,11 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { @@ -225,7 +225,11 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver {
225 child: ChangeNotifierProvider<StoreBaseIndoProvider>( 225 child: ChangeNotifierProvider<StoreBaseIndoProvider>(
226 create: (_) => StoreBaseIndoProvider(), 226 create: (_) => StoreBaseIndoProvider(),
227 child: ChangeNotifierProvider<CollectStoreProvider>( 227 child: ChangeNotifierProvider<CollectStoreProvider>(
228 - create: (_) => CollectStoreProvider(), child: MyPage()), 228 + create: (_) => CollectStoreProvider(),
  229 + child: ChangeNotifierProvider<CustomerProvider>(
  230 + create: (_) => CustomerProvider(),
  231 + child: ChangeNotifierProvider<UserModel>(
  232 + create: (_) => UserModel(), child: MyPage()))),
229 ))); 233 )));
230 WidgetsBinding.instance.addPostFrameCallback((_) async { 234 WidgetsBinding.instance.addPostFrameCallback((_) async {
231 // bus.on('refresh_token', (arg) { 235 // bus.on('refresh_token', (arg) {
@@ -1413,7 +1417,7 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { @@ -1413,7 +1417,7 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver {
1413 // if (widget.initialIndex == 1 && needRefreshTemp == false) { 1417 // if (widget.initialIndex == 1 && needRefreshTemp == false) {
1414 // } else { 1418 // } else {
1415 _clearBadge(() { 1419 _clearBadge(() {
1416 - // _getAllUnMessages(); 1420 + // _getAllUnMessages();
1417 }); 1421 });
1418 // } 1422 // }
1419 1423
  1 +import 'package:flutter/material.dart';
  2 +import 'package:flutter_screenutil/flutter_screenutil.dart';
  3 +import 'package:one_key/pages/my/customer_type/store_customer/store_customer_home_left_page.dart';
  4 +import 'package:one_key/pages/my/customer_type/store_customer/store_customer_home_right_page.dart';
  5 +import 'package:one_key/widgets/h_empty_view.dart';
  6 +import 'package:one_key/widgets/system_app_bar.dart';
  7 +import 'package:provider/provider.dart';
  8 +
  9 +import '../../../../models/store_customer_home_model.dart';
  10 +import '../../../../provider/collect_store_provider.dart';
  11 +import '../../../../provider/customer_provider.dart';
  12 +import '../../../../provider/user_model.dart';
  13 +import '../../../../res/colors.dart';
  14 +import '../../../../route/navigator_util.dart';
  15 +import '../../../../utils/event_bus.dart';
  16 +import '../../../../utils/screen_util.dart';
  17 +import '../../../../widgets/v_empty_view.dart';
  18 +import 'month_order_home_right_page.dart';
  19 +import 'month_order_page.dart';
  20 +
  21 +/***
  22 + * 月度订单首页、全店和分经理展示,我的页面进入
  23 + */
  24 +
  25 +class MonthOrderHomePage extends StatefulWidget {
  26 + MonthOrderHomePage({Key key}) : super(key: key);
  27 +
  28 + @override
  29 + _MonthOrderHomePageState createState() => _MonthOrderHomePageState();
  30 +}
  31 +
  32 +class _MonthOrderHomePageState extends State<MonthOrderHomePage>
  33 + with TickerProviderStateMixin {
  34 + TabController tabController;
  35 + Color selectedColor = MyColours.color_ffffff;
  36 + Color unSelectedColor = MyColours.color_BFC4D4;
  37 + // CustomerProvider customerProvider;
  38 + // int selectIndex = 0;
  39 +
  40 + @override
  41 + void initState() {
  42 + // TODO: implement initState
  43 + super.initState();
  44 + tabController = TabController(length: 2, vsync: this);
  45 +
  46 + tabController.addListener(() {
  47 +
  48 + if (tabController.index == tabController.animation.value) {
  49 + print(tabController.index);
  50 + // customerProvider.index = tabController.index;
  51 + // customerProvider.searchData(customerProvider.controller.text);
  52 + }
  53 + // selectIndex = tabController.index;
  54 + // 点击tab时或滑动tab回调一次
  55 + // if (tabController.index.toDouble() == tabController.animation.value) {
  56 + // selectIndex = tabController.index;
  57 + // }
  58 + });
  59 + WidgetsBinding.instance.addPostFrameCallback((_) {
  60 + // _getSellerGuestManage();
  61 + });
  62 + }
  63 +
  64 + @override
  65 + void dispose() {
  66 + EventBus().emit('changeStatusColor');
  67 + super.dispose();
  68 + }
  69 +
  70 + ///全店客情首页
  71 + // _getSellerGuestManage() async {
  72 + // StoreCustomerHomeSunModel model =
  73 + // await customerProvider.getSellerGuestManage(context);
  74 + // // setState(() {});
  75 + // }
  76 +
  77 + @override
  78 + Widget build(BuildContext context) {
  79 + // customerProvider = Provider.of<CustomerProvider>(context, listen: false);
  80 + return Scaffold(
  81 + appBar: SystemAppBar(
  82 + '月度订单',
  83 + ),
  84 + body: Column(
  85 + children: [
  86 + Container(
  87 + alignment: Alignment.center,
  88 + width: double.infinity,
  89 + color: MyColours.color_ffffff,
  90 + padding: EdgeInsets.only(bottom: w(9), top: w(9)),
  91 + child: TabBar(
  92 + onTap: (index) {
  93 + print(index);
  94 + },
  95 + controller: tabController,
  96 + isScrollable: true,
  97 + indicatorColor: MyColours.color_438E93,
  98 + indicatorSize: TabBarIndicatorSize.tab,
  99 + indicatorWeight: w(2),
  100 + unselectedLabelColor: MyColours.color_999999,
  101 + labelColor: MyColours.color_438E93,
  102 + labelStyle: TextStyle(
  103 + fontSize: w(14),
  104 + color: MyColours.color_438E93,
  105 + fontWeight: FontWeight.bold),
  106 + unselectedLabelStyle:
  107 + TextStyle(fontSize: w(12), color: MyColours.color_999999),
  108 + indicatorPadding: EdgeInsets.only(left: w(24), right: w(24)),
  109 + // labelPadding:
  110 + // EdgeInsets.symmetric(horizontal: w(32)), //tabs控件之间的间距
  111 + tabs: [
  112 + Tab(
  113 + height: w(30),
  114 + child: Container(
  115 + width: w(100),
  116 + alignment: Alignment.center,
  117 + child: Text(
  118 + '全店',
  119 + ),
  120 + )),
  121 + Tab(
  122 + height: w(30),
  123 + child: Container(
  124 + width: w(100),
  125 + alignment: Alignment.center,
  126 + child: Text(
  127 + '分经理',
  128 + )),
  129 + ),
  130 + ],
  131 +
  132 + // indicatorPadding: EdgeInsets.only(
  133 + // left: ScreenUtil().setWidth(16),
  134 + // right: ScreenUtil().setWidth(32)),
  135 + // indicatorWeight: ScreenUtil().setWidth(6.0),
  136 + )),
  137 + Expanded(
  138 + child: TabBarView(controller: tabController, children: [
  139 + MonthOrderPage(
  140 + year: DateTime.now().year.toString(),
  141 + month: DateTime.now().month.toString(),
  142 + needAppBar: false,
  143 + ), //全店
  144 + ChangeNotifierProvider<CustomerProvider>(
  145 + create: (_) => CustomerProvider(),
  146 + child: MonthOrderHomeRightPage()), //分经理
  147 + ]),
  148 + ),
  149 + ],
  150 + ));
  151 + }
  152 +}
  1 +import 'dart:convert';
  2 +import 'dart:ui';
  3 +
  4 +import 'package:flutter/cupertino.dart';
  5 +import 'package:flutter/material.dart';
  6 +import 'package:flutter_screenutil/flutter_screenutil.dart';
  7 +import 'package:one_key/constant/state.dart';
  8 +import 'package:one_key/models/guest_manage_model.dart';
  9 +import 'package:one_key/models/marketing_by_uid_model.dart';
  10 +import 'package:one_key/provider/customer_provider.dart';
  11 +import 'package:one_key/provider/personnel_provider.dart';
  12 +import 'package:one_key/provider/user_model.dart';
  13 +import 'package:one_key/res/colors.dart';
  14 +import 'package:one_key/route/navigator_util.dart';
  15 +import 'package:one_key/utils/event_bus.dart';
  16 +import 'package:one_key/utils/utils.dart';
  17 +import 'package:one_key/widgets/h_empty_view.dart';
  18 +import 'package:one_key/widgets/page_exception.dart';
  19 +import 'package:one_key/widgets/round_button.dart';
  20 +import 'package:one_key/widgets/system_app_bar.dart';
  21 +import 'package:one_key/widgets/v_empty_view.dart';
  22 +import 'package:provider/provider.dart';
  23 +
  24 +import '../../../../models/message_menu_model.dart';
  25 +import '../../../../models/personnel_manage_model.dart';
  26 +import '../../../../models/seller_counts_list.dart';
  27 +import '../../../../models/store_customer_home_model.dart';
  28 +import '../../../../utils/screen_util.dart';
  29 +import '../../../../widgets/MyDivider.dart';
  30 +import '../month_item.dart';
  31 +import '../store_customer/bar_chart_page.dart';
  32 +import 'month_order_page.dart';
  33 +
  34 +/**
  35 + * 月度订单分经理页面
  36 + */
  37 +class MonthOrderHomeRightPage extends StatefulWidget {
  38 + final CustomerProvider customerProvider;
  39 +
  40 + MonthOrderHomeRightPage({
  41 + Key key,
  42 + this.customerProvider,
  43 + }) : super(key: key);
  44 +
  45 + @override
  46 + _MonthOrderHomeRightpageStateMonth createState() =>
  47 + _MonthOrderHomeRightpageStateMonth();
  48 +}
  49 +
  50 +class _MonthOrderHomeRightpageStateMonth
  51 + extends State<MonthOrderHomeRightPage> {
  52 + ScrollController _controller = ScrollController();
  53 +
  54 + // int year;
  55 +
  56 + List<MessageMenuModel> menuTitle = [];
  57 +
  58 + PersonnelProvider personnelProvider;
  59 +
  60 + List<PersonnelManageSunModel> data = [];
  61 +
  62 + CustomerProvider customerProvider;
  63 +
  64 + String uid = '';
  65 +
  66 + @override
  67 + void initState() {
  68 + super.initState();
  69 +
  70 + // year = DateTime.now().year;
  71 + WidgetsBinding.instance.addPostFrameCallback((_) async {
  72 + print(mounted);
  73 +
  74 + await _getAuthUserLists(showLoading: false);
  75 + await _getSellerCountsListByMonth(isShowLoading: false);
  76 + });
  77 + }
  78 +
  79 + @override
  80 + void dispose() {
  81 + super.dispose();
  82 + }
  83 +
  84 + //获取员工信息列表
  85 + _getAuthUserLists({bool showLoading = true}) async {
  86 + Map<String, String> params = {
  87 + "sellerid": Provider.of<UserModel>(context, listen: false).user.sellerid,
  88 + };
  89 +
  90 + await personnelProvider.getAuthUserLists(context, params,
  91 + showLoading: showLoading);
  92 +
  93 + if (personnelProvider.dataMap != null) {
  94 + data.addAll(personnelProvider.dataMap.admin.listdata);
  95 + data.addAll(personnelProvider.dataMap.shopowner.listdata);
  96 + data.addAll(personnelProvider.dataMap.manager.listdata);
  97 + data.addAll(personnelProvider.dataMap.cashier.listdata);
  98 + data.addAll(personnelProvider.dataMap.waiter.listdata);
  99 + data.addAll(personnelProvider.dataMap.reception.listdata);
  100 + data.addAll(personnelProvider.dataMap.welcome.listdata);
  101 + data.forEach((element) {
  102 + MessageMenuModel messageMenuModel = MessageMenuModel();
  103 + messageMenuModel.uid = element.id;
  104 + messageMenuModel.title = element.nickName ?? element.account;
  105 + messageMenuModel.select = false;
  106 + if (messageMenuModel.title != null) {
  107 + menuTitle.add(messageMenuModel);
  108 + }
  109 + });
  110 +
  111 + if (menuTitle.length > 0) {
  112 + menuTitle[0].select = true;
  113 + uid = menuTitle[0].uid;
  114 + }
  115 + }
  116 +
  117 + if (mounted) {
  118 + setState(() {});
  119 + }
  120 + }
  121 +
  122 + _getSellerCountsListByMonth(
  123 + {isShowLoading = false, VoidCallback callback}) async {
  124 + if (mounted) {
  125 + String uid = '';
  126 + menuTitle.forEach((element) {
  127 + if (element.select) {
  128 + uid = element.uid;
  129 + }
  130 + });
  131 + Map<String, String> params = {
  132 + 'sellerid':
  133 + Provider.of<UserModel>(context, listen: false).user.sellerid,
  134 + 'year': DateTime.now().year.toString(),
  135 + 'month': DateTime.now().month.toString(),
  136 + 'uid': uid
  137 + };
  138 +
  139 + await customerProvider.getSellerCountsListByMonth(context, params,
  140 + isShowLoading: isShowLoading);
  141 + // setState(() {});
  142 + if ((customerProvider.monthStaticsData == null ||
  143 + customerProvider.monthStaticsData.dayList.length == 0) &&
  144 + callback != null) {
  145 + callback();
  146 + }
  147 + }
  148 + }
  149 +
  150 + // _getSellerCountsList({isShowLoading = false, VoidCallback callback}) async {
  151 + // String uid = '';
  152 + // menuTitle.forEach((element) {
  153 + // if (element.select) {
  154 + // uid = element.uid;
  155 + // }
  156 + // });
  157 + // Map<String, String> params = {
  158 + // 'sellerid': Provider.of<UserModel>(context, listen: false).user.sellerid,
  159 + // 'year': year.toString(),
  160 + // 'uid': uid
  161 + // };
  162 + // await widget.customerProvider
  163 + // .getSellerCountsList(context, params, isShowLoading: isShowLoading);
  164 + // widget.customerProvider.pageStateMonthMyHome = pageStateMonth.Success;
  165 + // setState(() {});
  166 + // if ((widget.customerProvider.managerStatisticsList == null ||
  167 + // widget.customerProvider.managerStatisticsList.length == 0) &&
  168 + // callback != null) {
  169 + // callback();
  170 + // }
  171 + // }
  172 +
  173 + @override
  174 + Widget build(BuildContext context) {
  175 + personnelProvider = Provider.of<PersonnelProvider>(context, listen: true);
  176 + customerProvider = Provider.of<CustomerProvider>(context, listen: true);
  177 + return Scaffold(
  178 + // backgroundColor: MyColours.color_f3f3f3,
  179 + // appBar: SystemAppBar('我的客情', onTap: () {
  180 + // EventBus().emit('changeStatusColor');
  181 + // Navigator.pop(context);
  182 + // }),
  183 + body: Column(children: [
  184 + Container(
  185 + color: MyColours.color_ffffff,
  186 + height: ScreenUtil().setWidth(70),
  187 + padding: EdgeInsets.only(bottom: w(12)),
  188 + margin: EdgeInsets.only(bottom: ScreenUtil().setWidth(10)),
  189 + child: Row(
  190 + children: [
  191 + HEmptyView(48),
  192 + Expanded(
  193 + child: SizedBox(
  194 + // height: ScreenUtil().setWidth(30),
  195 + child: ListView.builder(
  196 + itemCount: menuTitle.length,
  197 + shrinkWrap: true,
  198 + controller: _controller,
  199 + scrollDirection: Axis.horizontal,
  200 + itemBuilder: (BuildContext contxt, int index) {
  201 + return InkWell(
  202 + onTap: () {
  203 + for (MessageMenuModel item in menuTitle) {
  204 + item.select = false;
  205 + }
  206 + menuTitle[index].select = true;
  207 + uid = menuTitle[index].uid;
  208 + customerProvider.pageStateMonth =
  209 + PageState.Loading;
  210 + setState(() {});
  211 + _getSellerCountsListByMonth();
  212 + // _getMarketingByUid();
  213 + // _getSellerCountsList();
  214 + // _getSellerCountsListByMonth(
  215 + // isShowLoading: true, callback: () {});
  216 +
  217 + // offset = 0;
  218 + // 1提前点餐/2内部预订/10在线预订/15店内消息传/12在线买单
  219 +
  220 + // if (index == 0) {
  221 + // typeid = '';
  222 + // } else if (index == 1) {
  223 + // //店内消息
  224 + // typeid = '15';
  225 + // } else if (index == 2) {
  226 + // //在线预订
  227 + // typeid = '10';
  228 + // } else if (index == 3) {
  229 + // //提前点餐
  230 + // typeid = '1';
  231 + // } else if (index == 4) {
  232 + // //在线买单
  233 + // typeid = '12';
  234 + // } else if (index == 5) {
  235 + // //会员充值
  236 + // typeid = '17';
  237 + // } else if (index == 6) {
  238 + // //存酒超期
  239 + // typeid = '18';
  240 + // }
  241 + // getMessage(typeid, showLoading: true);
  242 + },
  243 + child: Container(
  244 + // width: ScreenUtil().setWidth(104 * 2),
  245 +
  246 + margin: EdgeInsets.only(
  247 + right: ScreenUtil().setWidth(30),
  248 + ),
  249 + padding: EdgeInsets.symmetric(
  250 + horizontal: ScreenUtil().setWidth(10),
  251 + vertical: ScreenUtil().setWidth(4)),
  252 + alignment: Alignment.center,
  253 + decoration: BoxDecoration(
  254 + borderRadius: BorderRadius.circular(
  255 + ScreenUtil().setWidth(10)),
  256 + // color: menuTitle[index].select
  257 + // ? MyColours.color_438E93
  258 + // : MyColours.color_999999,
  259 + border: Border.all(
  260 + color: menuTitle[index].select
  261 + ? MyColours.color_438E93
  262 + : MyColours.color_999999,
  263 + width: ScreenUtil().setWidth(2))),
  264 + child: Text(
  265 + menuTitle[index].title,
  266 + overflow: TextOverflow.ellipsis,
  267 + style: TextStyle(
  268 + color: menuTitle[index].select
  269 + ? MyColours.color_438E93
  270 + : MyColours.color_999999,
  271 + fontSize: ScreenUtil().setSp(24),
  272 + decoration: TextDecoration.none,
  273 + fontWeight: FontWeight.normal),
  274 + ),
  275 + ),
  276 + );
  277 + })))
  278 + ],
  279 + ),
  280 + ),
  281 +
  282 + Consumer<CustomerProvider>(builder: (context, model, _) {
  283 + if (model.pageStateMonth != PageState.Success) {
  284 + return Expanded(
  285 + child: ExceptionPage(
  286 + pageState: model.pageStateMonth,
  287 + callback: () async {
  288 + await _getAuthUserLists(showLoading: true);
  289 + await _getSellerCountsListByMonth(isShowLoading: true);
  290 + },
  291 + emptyMsg: "暂时没有预订数据哦",
  292 + emptyImg: "empty_search",
  293 + showMsg: "加载中,请稍后...",
  294 + ));
  295 + } else {
  296 + return Expanded(
  297 + child: MonthOrderPage(
  298 + year: DateTime.now().year.toString(),
  299 + month: DateTime.now().month.toString(),
  300 + uid: uid,
  301 + needAppBar: false,
  302 + monthStaticsData: customerProvider.monthStaticsData));
  303 + }
  304 + }) //全店
  305 + // Consumer<CustomerProvider>(builder: (context, model, _) {
  306 + // if (model.pageStateMonthMyHome != pageStateMonth.Success) {
  307 + // if (model.pageStateMonthMyHome == pageStateMonth.Loading) {
  308 + // return SingleChildScrollView(
  309 + // controller: _controller,
  310 + // child: Stack(alignment: Alignment.center, children: [
  311 + // Column(children: [
  312 + // VEmptyView(10),
  313 + // // Stack(
  314 + // // children: [
  315 + // Container(
  316 + // height: w(80),
  317 + // color: MyColours.color_ffffff,
  318 + // child: Row(
  319 + // mainAxisAlignment: MainAxisAlignment.center,
  320 + // children: [
  321 + // Text(
  322 + // '',
  323 + // style: TextStyle(
  324 + // color: MyColours.color_438E93,
  325 + // fontSize: ScreenUtil().setSp(64),
  326 + // fontWeight: FontWeight.bold),
  327 + // ),
  328 + // Text(
  329 + // '位',
  330 + // style: TextStyle(
  331 + // color: MyColours.color_515151,
  332 + // // fontWeight: FontWeight.bold,
  333 + // fontSize: ScreenUtil().setSp(32)),
  334 + // )
  335 + // ],
  336 + // ),
  337 + // ),
  338 + // VEmptyView(10),
  339 + // Row(
  340 + // children: [
  341 + // _percentWidget('', '活跃', '', tap: false),
  342 + // HEmptyView(10),
  343 + // _percentWidget('', '60天未预订', '', tap: false),
  344 + // HEmptyView(10),
  345 + // _percentWidget('', '120天未预订', '', tap: false),
  346 + // ],
  347 + // ),
  348 +
  349 + // // VEmptyView(10),
  350 + // // GridView.builder(
  351 + // // controller: _controller,
  352 + // // shrinkWrap: true,
  353 + // // cacheExtent: ScreenUtil().setWidth(0),
  354 + // // itemCount: 6,
  355 + // // gridDelegate:
  356 + // // SliverGridDelegateWithFixedCrossAxisCount(
  357 + // // crossAxisCount: 3,
  358 + // // childAspectRatio: 1.05,
  359 + // // mainAxisSpacing:
  360 + // // ScreenUtil().setWidth(10),
  361 + // // crossAxisSpacing:
  362 + // // ScreenUtil().setWidth(10)),
  363 + // // itemBuilder: (BuildContext context, int index) {
  364 + // // return _managerWidget('', '', null, '',
  365 + // // uid: '', onTap: () {});
  366 + // // })
  367 + // ]),
  368 + // Align(
  369 + // alignment: Alignment.center,
  370 + // child: Center(
  371 + // child: Column(
  372 + // mainAxisAlignment: MainAxisAlignment.center,
  373 + // crossAxisAlignment: CrossAxisAlignment.center,
  374 + // children: <Widget>[
  375 + // ClipRRect(
  376 + // borderRadius: BorderRadius.circular(10),
  377 + // child: Container(
  378 + // width: 200,
  379 + // height: 200,
  380 + // color: Colors.transparent,
  381 + // child: CupertinoActivityIndicator(
  382 + // color: MyColours.color_000000,
  383 + // radius: 30,
  384 + // ),
  385 + // ))
  386 + // // VEmptyView(30),
  387 + // // Text(
  388 + // // '加载中,请稍后...',
  389 + // // style: TextStyle(
  390 + // // color: MyColours.color_666666,
  391 + // // fontSize: ScreenUtil().setSp(24)),
  392 + // // )
  393 + // ],
  394 + // ),
  395 + // ))
  396 + // ]));
  397 + // }
  398 + // return Expanded(
  399 + // child: ExceptionPage(
  400 + // pageStateMonth: model.pageStateMonthMyHome,
  401 + // callback: () {
  402 + // _couponNetworkData();
  403 +
  404 + // // _getMarketingByUid();
  405 + // _getSellerCountsList();
  406 + // },
  407 + // emptyMsg: "暂时没有我的客情哦",
  408 + // emptyImg: "empty_search",
  409 + // showMsg: "加载中,请稍后...",
  410 + // ));
  411 + // } else {
  412 + // return Expanded(
  413 + // child: SingleChildScrollView(
  414 + // controller: _controller,
  415 + // child: Column(
  416 + // children: [
  417 + // // VEmptyView(10),
  418 +
  419 + // if (widget.customerProvider.guestSunmodel != null)
  420 + // Column(
  421 + // children: [
  422 + // InkWell(
  423 + // onTap: () {
  424 + // String uid = '';
  425 + // menuTitle.forEach((element) {
  426 + // if (element.select) {
  427 + // uid = element.uid;
  428 + // }
  429 + // });
  430 + // NavigatorUtil.goMyCustomerListPage(
  431 + // context, FromPage.FromPageMyCustomer, uid);
  432 + // },
  433 + // child: Container(
  434 + // height: w(80),
  435 + // color: MyColours.color_ffffff,
  436 + // child: Row(
  437 + // mainAxisAlignment: MainAxisAlignment.center,
  438 + // children: [
  439 + // // Text(
  440 + // // '累计',
  441 + // // style: TextStyle(
  442 + // // color: MyColours.color_515151,
  443 + // // fontWeight: FontWeight.bold,
  444 + // // fontSize: ScreenUtil().setSp(32)),
  445 + // // ),
  446 + // Text(
  447 + // '${widget.customerProvider.guestSunmodel.myCustomer}',
  448 + // style: TextStyle(
  449 + // color: MyColours.color_199095,
  450 + // fontSize: ScreenUtil().setSp(64),
  451 + // fontWeight: FontWeight.bold),
  452 + // ),
  453 + // Text(
  454 + // '位',
  455 + // style: TextStyle(
  456 + // color: MyColours.color_515151,
  457 + // fontWeight: FontWeight.bold,
  458 + // fontSize: ScreenUtil().setSp(32)),
  459 + // )
  460 + // ],
  461 + // ),
  462 + // )),
  463 + // VEmptyView(10),
  464 + // // GridView.builder(
  465 + // // controller: _controller,
  466 + // // shrinkWrap: true,
  467 + // // cacheExtent: ScreenUtil().setWidth(0),
  468 + // // itemCount: 3,
  469 + // // gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
  470 + // // crossAxisCount: 3,
  471 + // // childAspectRatio: 1,
  472 + // // mainAxisSpacing: ScreenUtil().setWidth(10),
  473 + // // crossAxisSpacing: ScreenUtil().setWidth(10)),
  474 + // // itemBuilder: (BuildContext context, int index) {
  475 + // // // locationState = state;
  476 + // // return _percentWidget(
  477 + // // '${widget.customerProvider.guestSunmodel.active.count}',
  478 + // // '活跃客户',
  479 + // // '${widget.customerProvider.guestSunmodel.active.scale}');
  480 + // // }),
  481 + // Row(
  482 + // children: [
  483 + // _percentWidget(
  484 + // '${widget.customerProvider.guestSunmodel.active.count}',
  485 + // '活跃',
  486 + // '${widget.customerProvider.guestSunmodel.active.scale}'),
  487 + // HEmptyView(10),
  488 + // _percentWidget(
  489 + // '${widget.customerProvider.guestSunmodel.sleep.count}',
  490 + // '60天未预订',
  491 + // '${widget.customerProvider.guestSunmodel.sleep.scale}'),
  492 + // HEmptyView(10),
  493 + // _percentWidget(
  494 + // '${widget.customerProvider.guestSunmodel.drain.count}',
  495 + // '120天未预订',
  496 + // '${widget.customerProvider.guestSunmodel.drain.scale}'),
  497 + // ],
  498 + // ),
  499 + // ],
  500 + // ),
  501 +
  502 + // // ListView.builder(
  503 + // // controller: _controller,
  504 + // // shrinkWrap: true,
  505 + // // cacheExtent: ScreenUtil().setWidth(0),
  506 + // // itemCount: widget.customerProvider.guestSunmodel
  507 + // // .tips.task ==
  508 + // // null ||
  509 + // // widget.customerProvider.guestSunmodel.tips
  510 + // // .task.length ==
  511 + // // 0
  512 + // // ? 0
  513 + // // : widget.customerProvider.guestSunmodel.tips
  514 + // // .task.length,
  515 + // // itemBuilder: (BuildContext context, int index) {
  516 + // // // locationState = state;
  517 + // // Task data = widget.customerProvider.guestSunmodel
  518 + // // .tips.task[index];
  519 + // // return Column(
  520 + // // children: [
  521 + // // VEmptyView(10),
  522 + // // Container(
  523 + // // color: MyColours.color_ffffff,
  524 + // // padding: EdgeInsets.symmetric(
  525 + // // horizontal: ScreenUtil().setWidth(20),
  526 + // // vertical: ScreenUtil().setWidth(30)),
  527 + // // child: Row(
  528 + // // children: [
  529 + // // Image.asset(
  530 + // // Utils.getImgPath('warning'),
  531 + // // width: ScreenUtil().setWidth(42),
  532 + // // ),
  533 + // // HEmptyView(15),
  534 + // // Expanded(
  535 + // // child: Column(
  536 + // // crossAxisAlignment:
  537 + // // CrossAxisAlignment.start,
  538 + // // children: [
  539 + // // Text(
  540 + // // '店内任务:${data.content}',
  541 + // // maxLines: 1,
  542 + // // overflow: TextOverflow.ellipsis,
  543 + // // style: TextStyle(
  544 + // // color: MyColours.color_333333,
  545 + // // fontSize:
  546 + // // ScreenUtil().setSp(32)),
  547 + // // ),
  548 + // // data.aid != null &&
  549 + // // data.aidStr != null
  550 + // // ? Padding(
  551 + // // padding: EdgeInsets.only(
  552 + // // top: ScreenUtil()
  553 + // // .setWidth(8)),
  554 + // // child: Text(
  555 + // // '优惠内容:${data.aidStr}',
  556 + // // maxLines: 1,
  557 + // // overflow:
  558 + // // TextOverflow.ellipsis,
  559 + // // style: TextStyle(
  560 + // // color: MyColours
  561 + // // .color_333333,
  562 + // // fontSize: ScreenUtil()
  563 + // // .setSp(24)),
  564 + // // ),
  565 + // // )
  566 + // // : SizedBox(),
  567 + // // VEmptyView(8),
  568 + // // Text(
  569 + // // '创建人:${data.createUser}',
  570 + // // maxLines: 1,
  571 + // // overflow: TextOverflow.ellipsis,
  572 + // // style: TextStyle(
  573 + // // color: MyColours.color_333333,
  574 + // // fontSize:
  575 + // // ScreenUtil().setSp(26)),
  576 + // // )
  577 + // // ],
  578 + // // )),
  579 + // // HEmptyView(20),
  580 + // // Column(children: [
  581 + // // RoundButton(
  582 + // // text: '立即完成',
  583 +
  584 + // // padding: EdgeInsets.symmetric(
  585 + // // horizontal:
  586 + // // ScreenUtil().setWidth(26)),
  587 + // // gradientStart:
  588 + // // MyColours.color_199095,
  589 + // // gradientEnd: MyColours.color_199095,
  590 + // // // borderColor: MyColours.color_999999,
  591 + // // radius: ScreenUtil().setWidth(40),
  592 + // // height: ScreenUtil().setWidth(64),
  593 + // // width: ScreenUtil().setWidth(180),
  594 + // // fontSize: 26,
  595 + // // isBold: false,
  596 + // // onPressed: () {
  597 + // // SellerList sellerList =
  598 + // // SellerList.fromJson(
  599 + // // json.decode(
  600 + // // json.encode(data)));
  601 + // // NavigatorUtil
  602 + // // .goMyMakeMarkingPageOnlyShow(
  603 + // // context, sellerList);
  604 + // // },
  605 + // // ),
  606 + // // data.remainingTime != null
  607 + // // ? Padding(
  608 + // // padding: EdgeInsets.only(
  609 + // // top: ScreenUtil()
  610 + // // .setWidth(6)),
  611 + // // child: Text(
  612 + // // '${data.remainingTime}天内',
  613 + // // maxLines: 1,
  614 + // // overflow:
  615 + // // TextOverflow.ellipsis,
  616 + // // style: TextStyle(
  617 + // // color: Color.fromRGBO(
  618 + // // 215, 30, 40, 1),
  619 + // // fontSize: ScreenUtil()
  620 + // // .setSp(26)),
  621 + // // ))
  622 + // // : SizedBox()
  623 + // // ])
  624 + // // ],
  625 + // // ),
  626 + // // ),
  627 + // // ],
  628 + // // );
  629 + // // }),
  630 + // // ListView.builder(
  631 + // // controller: _controller,
  632 + // // shrinkWrap: true,
  633 + // // cacheExtent: ScreenUtil().setWidth(0),
  634 + // // itemCount: widget.customerProvider.guestSunmodel
  635 + // // .tips.recover ==
  636 + // // null ||
  637 + // // widget.customerProvider.guestSunmodel.tips
  638 + // // .recover.length ==
  639 + // // 0
  640 + // // ? 0
  641 + // // : 1,
  642 + // // itemBuilder: (BuildContext context, int index) {
  643 + // // // locationState = state;
  644 +
  645 + // // return Column(
  646 + // // children: [
  647 + // // VEmptyView(10),
  648 + // // Container(
  649 + // // color: MyColours.color_ffffff,
  650 + // // padding: EdgeInsets.symmetric(
  651 + // // horizontal: ScreenUtil().setWidth(20),
  652 + // // vertical: ScreenUtil().setWidth(30)),
  653 + // // child: Row(
  654 + // // children: [
  655 + // // Image.asset(
  656 + // // Utils.getImgPath('warning'),
  657 + // // width: ScreenUtil().setWidth(42),
  658 + // // ),
  659 + // // HEmptyView(15),
  660 + // // Expanded(
  661 + // // child: Text(
  662 + // // '${widget.customerProvider.guestSunmodel.tips.recover[0]}',
  663 + // // maxLines: 10,
  664 + // // overflow: TextOverflow.ellipsis,
  665 + // // style: TextStyle(
  666 + // // color: MyColours.color_333333,
  667 + // // fontSize: ScreenUtil().setSp(32)),
  668 + // // )),
  669 + // // HEmptyView(20),
  670 + // // RoundButton(
  671 + // // text: '一键追回',
  672 + // // padding: EdgeInsets.symmetric(
  673 + // // horizontal:
  674 + // // ScreenUtil().setWidth(26)),
  675 + // // gradientStart: MyColours.color_199095,
  676 + // // gradientEnd: MyColours.color_199095,
  677 + // // // borderColor: MyColours.color_999999,
  678 + // // radius: ScreenUtil().setWidth(40),
  679 + // // height: ScreenUtil().setWidth(64),
  680 + // // width: ScreenUtil().setWidth(180),
  681 + // // fontSize: 26,
  682 + // // isBold: false,
  683 + // // onPressed: () {
  684 + // // String uid = '';
  685 + // // menuTitle.forEach((element) {
  686 + // // if (element.select) {
  687 + // // uid = element.uid;
  688 + // // }
  689 + // // });
  690 + // // NavigatorUtil.goMyMakeMarkingPage(
  691 + // // context, uid,
  692 + // // fromPage: FromPage
  693 + // // .FromPageMyCustomer,
  694 + // // homeGid:
  695 + // // Utils.listToStringEnglish1(
  696 + // // widget
  697 + // // .customerProvider
  698 + // // .guestSunmodel
  699 + // // .tips
  700 + // // .recover[1]));
  701 + // // },
  702 + // // ),
  703 + // // ],
  704 + // // ),
  705 + // // ),
  706 + // // ],
  707 + // // );
  708 + // // }),
  709 + // // ListView.builder(
  710 + // // controller: _controller,
  711 + // // shrinkWrap: true,
  712 + // // cacheExtent: ScreenUtil().setWidth(0),
  713 + // // itemCount: widget.customerProvider.guestSunmodel
  714 + // // .tips.awaken ==
  715 + // // null ||
  716 + // // widget.customerProvider.guestSunmodel.tips
  717 + // // .awaken.length ==
  718 + // // 0
  719 + // // ? 0
  720 + // // : 1,
  721 + // // itemBuilder: (BuildContext context, int index) {
  722 + // // // locationState = state;
  723 +
  724 + // // return Column(
  725 + // // children: [
  726 + // // VEmptyView(10),
  727 + // // Container(
  728 + // // color: MyColours.color_ffffff,
  729 + // // padding: EdgeInsets.symmetric(
  730 + // // horizontal: ScreenUtil().setWidth(20),
  731 + // // vertical: ScreenUtil().setWidth(30)),
  732 + // // child: Row(
  733 + // // children: [
  734 + // // Image.asset(
  735 + // // Utils.getImgPath('warning'),
  736 + // // width: ScreenUtil().setWidth(42),
  737 + // // ),
  738 + // // HEmptyView(15),
  739 + // // Expanded(
  740 + // // child: Text(
  741 + // // '${widget.customerProvider.guestSunmodel.tips.awaken[0]}',
  742 + // // maxLines: 10,
  743 + // // overflow: TextOverflow.ellipsis,
  744 + // // style: TextStyle(
  745 + // // color: MyColours.color_333333,
  746 + // // fontSize: ScreenUtil().setSp(32)),
  747 + // // )),
  748 + // // HEmptyView(20),
  749 + // // RoundButton(
  750 + // // text: '一键唤醒',
  751 + // // padding: EdgeInsets.symmetric(
  752 + // // horizontal:
  753 + // // ScreenUtil().setWidth(26)),
  754 + // // gradientStart: MyColours.color_199095,
  755 + // // gradientEnd: MyColours.color_199095,
  756 + // // // borderColor: MyColours.color_999999,
  757 + // // radius: ScreenUtil().setWidth(40),
  758 + // // height: ScreenUtil().setWidth(64),
  759 + // // width: ScreenUtil().setWidth(180),
  760 + // // fontSize: 26,
  761 + // // isBold: false,
  762 + // // onPressed: () {
  763 + // // String uid = '';
  764 + // // menuTitle.forEach((element) {
  765 + // // if (element.select) {
  766 + // // uid = element.uid;
  767 + // // }
  768 + // // });
  769 + // // NavigatorUtil.goMyMakeMarkingPage(
  770 + // // context, uid,
  771 + // // fromPage: FromPage
  772 + // // .FromPageMyCustomer,
  773 + // // homeGid:
  774 + // // Utils.listToStringEnglish1(
  775 + // // widget
  776 + // // .customerProvider
  777 + // // .guestSunmodel
  778 + // // .tips
  779 + // // .awaken[1]));
  780 + // // },
  781 + // // ),
  782 + // // ],
  783 + // // ),
  784 + // // ),
  785 + // // ],
  786 + // // );
  787 + // // }),
  788 + // if (widget.customerProvider.managerStatisticsList != null &&
  789 + // widget.customerProvider.managerStatisticsList.length > 0)
  790 + // Column(
  791 + // children: [
  792 + // _chart(),
  793 + // ListView.builder(
  794 + // itemCount: widget
  795 + // .customerProvider.managerStatisticsList.length,
  796 + // shrinkWrap: true,
  797 + // controller: _controller,
  798 + // padding: EdgeInsets.symmetric(horizontal: w(10)),
  799 + // itemBuilder: (context, index) {
  800 + // SellerCountsListSunModel countsListSunModel = widget
  801 + // .customerProvider.managerStatisticsList[index];
  802 + // return InkWell(
  803 + // onTap: () {
  804 + // String uid = '';
  805 + // menuTitle.forEach((element) {
  806 + // if (element.select) {
  807 + // uid = element.uid;
  808 + // }
  809 + // });
  810 + // NavigatorUtil.goMonthOrderPage(
  811 + // context,
  812 + // year.toString(),
  813 + // countsListSunModel.monthss.toString(),
  814 + // uid: uid);
  815 + // },
  816 + // child: MonthItem(
  817 + // countsListSunModel: countsListSunModel));
  818 + // })
  819 + // ],
  820 + // )
  821 + // ],
  822 + // ),
  823 + // ));
  824 + // }
  825 + // })
  826 + // Container(
  827 + // color: MyColours.color_FAFAFA,
  828 + // padding: EdgeInsets.only(
  829 + // top: w(13), bottom: w(26), left: w(45), right: (45)),
  830 + // child: Stack(
  831 + // children: [
  832 + // RoundButton(
  833 + // onPressed: () {
  834 + // NavigatorUtil.goMyMarketingRecordsPage(
  835 + // context, FromPage.FromPageMyCustomer);
  836 + // },
  837 + // text: '历史营销记录',
  838 + // fontSize: 32,
  839 + // isBold: true,
  840 + // // margin: EdgeInsets.only(
  841 + // // top: w(13),
  842 + // // bottom: w(26),
  843 + // // left: w(45),
  844 + // // right: (45)),
  845 + // textColor: MyColours.color_F8F9FD,
  846 + // gradientStart: MyColours.color_199095,
  847 + // gradientEnd: MyColours.color_199095,
  848 + // borderColor: MyColours.color_199095,
  849 + // height: ScreenUtil().setWidth(86),
  850 + // // width: ScreenUtil().setWidth(260),
  851 + // radius: ScreenUtil().setWidth(10),
  852 + // ),
  853 + // showWarning
  854 + // ? Positioned(
  855 + // right: ScreenUtil().setWidth(30),
  856 + // top: ScreenUtil().setWidth(45 / 2),
  857 + // child: Image.asset(
  858 + // Utils.getImgPath('warning'),
  859 + // width: ScreenUtil().setWidth(35),
  860 + // ))
  861 + // : SizedBox()
  862 + // ],
  863 + // ))
  864 + ]));
  865 + }
  866 +}
@@ -26,7 +26,16 @@ class MonthOrderPage extends StatefulWidget { @@ -26,7 +26,16 @@ class MonthOrderPage extends StatefulWidget {
26 final String month; 26 final String month;
27 27
28 final String uid; 28 final String uid;
29 - MonthOrderPage({Key key, this.year, this.month, this.uid}) : super(key: key); 29 + final MonthStaticsSunModel monthStaticsData;
  30 + final bool needAppBar;
  31 + MonthOrderPage(
  32 + {Key key,
  33 + this.year,
  34 + this.month,
  35 + this.uid,
  36 + this.monthStaticsData,
  37 + this.needAppBar = true})
  38 + : super(key: key);
30 39
31 @override 40 @override
32 _MonthOrderPageState createState() => _MonthOrderPageState(); 41 _MonthOrderPageState createState() => _MonthOrderPageState();
@@ -42,8 +51,13 @@ class _MonthOrderPageState extends State<MonthOrderPage> { @@ -42,8 +51,13 @@ class _MonthOrderPageState extends State<MonthOrderPage> {
42 // TODO: implement initState 51 // TODO: implement initState
43 super.initState(); 52 super.initState();
44 month = int.parse(widget.month); 53 month = int.parse(widget.month);
  54 +
45 WidgetsBinding.instance.addPostFrameCallback((_) { 55 WidgetsBinding.instance.addPostFrameCallback((_) {
46 - _getSellerCountsListByMonth(); 56 + if (widget.monthStaticsData == null) {
  57 + _getSellerCountsListByMonth();
  58 + } else {
  59 + customerProvider.monthStaticsData = widget.monthStaticsData;
  60 + }
47 }); 61 });
48 } 62 }
49 63
@@ -57,6 +71,12 @@ class _MonthOrderPageState extends State<MonthOrderPage> { @@ -57,6 +71,12 @@ class _MonthOrderPageState extends State<MonthOrderPage> {
57 return Utils.lunarCalendarHolidays(date); 71 return Utils.lunarCalendarHolidays(date);
58 } 72 }
59 73
  74 + // @override
  75 + // void didChangeDependencies() {
  76 + // super.didChangeDependencies();
  77 + // print('gggggg');
  78 + // }
  79 +
60 String weekdayShow(String year, String month, String day) { 80 String weekdayShow(String year, String month, String day) {
61 String dateStr = year + 81 String dateStr = year +
62 '-' + 82 '-' +
@@ -108,19 +128,19 @@ class _MonthOrderPageState extends State<MonthOrderPage> { @@ -108,19 +128,19 @@ class _MonthOrderPageState extends State<MonthOrderPage> {
108 InkWell( 128 InkWell(
109 onTap: () { 129 onTap: () {
110 if (month == 1) { 130 if (month == 1) {
111 - if (widget.year ==  
112 - DateTime.now().year.toString()) {  
113 - month = DateTime.now().month;  
114 - } else {  
115 - month = 12;  
116 - } 131 + // if (widget.year ==
  132 + // DateTime.now().year.toString()) {
  133 + // month = DateTime.now().month;
  134 + // } else {
  135 + month = 12;
  136 + // }
117 setState(() {}); 137 setState(() {});
118 _getSellerCountsListByMonth( 138 _getSellerCountsListByMonth(
119 isShowLoading: true, 139 isShowLoading: true,
120 callback: () { 140 callback: () {
121 - setState(() {  
122 - month = 1;  
123 - }); 141 + // setState(() {
  142 + // month = 1;
  143 + // });
124 }); 144 });
125 } else { 145 } else {
126 setState(() { 146 setState(() {
@@ -130,17 +150,18 @@ class _MonthOrderPageState extends State<MonthOrderPage> { @@ -130,17 +150,18 @@ class _MonthOrderPageState extends State<MonthOrderPage> {
130 _getSellerCountsListByMonth( 150 _getSellerCountsListByMonth(
131 isShowLoading: true, 151 isShowLoading: true,
132 callback: () { 152 callback: () {
133 - setState(() {  
134 - month++;  
135 - }); 153 + // setState(() {
  154 + // month++;
  155 + // });
136 }); 156 });
137 } 157 }
138 158
139 // _getGuestReserve(showLoading: true); 159 // _getGuestReserve(showLoading: true);
140 }, 160 },
141 - child: Padding( 161 + child: Container(
  162 + color: Colors.transparent,
142 padding: EdgeInsets.only( 163 padding: EdgeInsets.only(
143 - right: ScreenUtil().setWidth(20)), 164 + top: w(20), bottom: w(20), right: w(10)),
144 child: Image.asset( 165 child: Image.asset(
145 Utils.getImgPath('c_arrow_left'), 166 Utils.getImgPath('c_arrow_left'),
146 width: ScreenUtil().setWidth(24), 167 width: ScreenUtil().setWidth(24),
@@ -168,15 +189,15 @@ class _MonthOrderPageState extends State<MonthOrderPage> { @@ -168,15 +189,15 @@ class _MonthOrderPageState extends State<MonthOrderPage> {
168 onTap: () { 189 onTap: () {
169 if (widget.year == 190 if (widget.year ==
170 DateTime.now().year.toString()) { 191 DateTime.now().year.toString()) {
171 - if (month == DateTime.now().month) { 192 + if (month == 12) {
172 month = 1; 193 month = 1;
173 setState(() {}); 194 setState(() {});
174 _getSellerCountsListByMonth( 195 _getSellerCountsListByMonth(
175 isShowLoading: true, 196 isShowLoading: true,
176 callback: () { 197 callback: () {
177 - setState(() {  
178 - month = DateTime.now().month;  
179 - }); 198 + // setState(() {
  199 + // month = DateTime.now().month;
  200 + // });
180 }); 201 });
181 } else { 202 } else {
182 setState(() { 203 setState(() {
@@ -185,9 +206,9 @@ class _MonthOrderPageState extends State<MonthOrderPage> { @@ -185,9 +206,9 @@ class _MonthOrderPageState extends State<MonthOrderPage> {
185 _getSellerCountsListByMonth( 206 _getSellerCountsListByMonth(
186 isShowLoading: true, 207 isShowLoading: true,
187 callback: () { 208 callback: () {
188 - setState(() {  
189 - month--;  
190 - }); 209 + // setState(() {
  210 + // month--;
  211 + // });
191 }); 212 });
192 } 213 }
193 } else if (month == 12) { 214 } else if (month == 12) {
@@ -196,9 +217,9 @@ class _MonthOrderPageState extends State<MonthOrderPage> { @@ -196,9 +217,9 @@ class _MonthOrderPageState extends State<MonthOrderPage> {
196 _getSellerCountsListByMonth( 217 _getSellerCountsListByMonth(
197 isShowLoading: true, 218 isShowLoading: true,
198 callback: () { 219 callback: () {
199 - setState(() {  
200 - month = 12;  
201 - }); 220 + // setState(() {
  221 + // month = 12;
  222 + // });
202 }); 223 });
203 } else { 224 } else {
204 setState(() { 225 setState(() {
@@ -207,18 +228,21 @@ class _MonthOrderPageState extends State<MonthOrderPage> { @@ -207,18 +228,21 @@ class _MonthOrderPageState extends State<MonthOrderPage> {
207 _getSellerCountsListByMonth( 228 _getSellerCountsListByMonth(
208 isShowLoading: true, 229 isShowLoading: true,
209 callback: () { 230 callback: () {
210 - setState(() {  
211 - month--;  
212 - }); 231 + // setState(() {
  232 + // month--;
  233 + // });
213 }); 234 });
214 } 235 }
215 236
216 // _getGuestReserve(showLoading: true); 237 // _getGuestReserve(showLoading: true);
217 }, 238 },
218 - child: Padding( 239 + child: Container(
  240 + color: Colors.transparent,
219 padding: EdgeInsets.only( 241 padding: EdgeInsets.only(
220 - left: ScreenUtil().setWidth(20),  
221 - ), 242 + left: w(10),
  243 + top: w(20),
  244 + bottom: w(20),
  245 + right: w(10)),
222 child: Image.asset( 246 child: Image.asset(
223 Utils.getImgPath('c_arrow_right'), 247 Utils.getImgPath('c_arrow_right'),
224 width: ScreenUtil().setWidth(24), 248 width: ScreenUtil().setWidth(24),
@@ -360,7 +384,7 @@ class _MonthOrderPageState extends State<MonthOrderPage> { @@ -360,7 +384,7 @@ class _MonthOrderPageState extends State<MonthOrderPage> {
360 ), 384 ),
361 HEmptyView(10), 385 HEmptyView(10),
362 Text( 386 Text(
363 - '到客${customerProvider.monthStaticsData.totalDaoKe??'0'}', 387 + '到客${customerProvider.monthStaticsData.totalDaoKe ?? '0'}',
364 style: TextStyle( 388 style: TextStyle(
365 color: MyColours.color_515151, 389 color: MyColours.color_515151,
366 fontSize: font( 390 fontSize: font(
@@ -506,7 +530,7 @@ class _MonthOrderPageState extends State<MonthOrderPage> { @@ -506,7 +530,7 @@ class _MonthOrderPageState extends State<MonthOrderPage> {
506 customerProvider = Provider.of<CustomerProvider>(context, listen: true); 530 customerProvider = Provider.of<CustomerProvider>(context, listen: true);
507 return Scaffold( 531 return Scaffold(
508 backgroundColor: MyColours.color_f3f3f3, 532 backgroundColor: MyColours.color_f3f3f3,
509 - appBar: SystemAppBar('月度订单'), 533 + appBar: widget.needAppBar ? SystemAppBar('月度订单') : null,
510 body: Consumer<CustomerProvider>(builder: (context, model, _) { 534 body: Consumer<CustomerProvider>(builder: (context, model, _) {
511 if (model.pageStateMonth != PageState.Success) { 535 if (model.pageStateMonth != PageState.Success) {
512 return ExceptionPage( 536 return ExceptionPage(
@@ -31,6 +31,7 @@ import '../../app.dart'; @@ -31,6 +31,7 @@ import '../../app.dart';
31 31
32 import '../../models/get_seller_info_model.dart'; 32 import '../../models/get_seller_info_model.dart';
33 import '../../provider/collect_store_provider.dart'; 33 import '../../provider/collect_store_provider.dart';
  34 +import '../../provider/customer_provider.dart';
34 import '../../provider/store_base_info_provider.dart'; 35 import '../../provider/store_base_info_provider.dart';
35 import '../../utils/dialog_util.dart'; 36 import '../../utils/dialog_util.dart';
36 import '../../utils/screen_util.dart'; 37 import '../../utils/screen_util.dart';
@@ -168,6 +169,28 @@ class MyPageState extends State<MyPage> with WidgetsBindingObserver { @@ -168,6 +169,28 @@ class MyPageState extends State<MyPage> with WidgetsBindingObserver {
168 // } 169 // }
169 // } 170 // }
170 171
  172 + _getSellerCountsListByMonth(
  173 + {isShowLoading = false, VoidCallback callback}) async {
  174 + CustomerProvider customerProvider =
  175 + Provider.of<CustomerProvider>(context, listen: false);
  176 + Map<String, String> params = {
  177 + 'sellerid': Provider.of<UserModel>(context, listen: false).user.sellerid,
  178 + 'year': DateTime.now().year.toString(),
  179 + 'month': DateTime.now().month.toString(),
  180 + 'uid': Provider.of<UserModel>(context ,listen: false).user.openid
  181 + };
  182 +
  183 + await customerProvider.getSellerCountsListByMonth(context, params,
  184 + isShowLoading: isShowLoading);
  185 + if ((customerProvider.monthStaticsData == null ||
  186 + customerProvider.monthStaticsData.dayList.length == 0)) {
  187 + myModel.reserveTotal = '0';
  188 + } else {
  189 + myModel.reserveTotal = customerProvider.monthStaticsData.totalRserve;
  190 + }
  191 + setState(() {});
  192 + }
  193 +
171 ///获取短信余量 194 ///获取短信余量
172 _getSmsInfo(context) async { 195 _getSmsInfo(context) async {
173 // myModel = Provider.of<MyModel>(context, listen: false); 196 // myModel = Provider.of<MyModel>(context, listen: false);
@@ -187,7 +210,11 @@ class MyPageState extends State<MyPage> with WidgetsBindingObserver { @@ -187,7 +210,11 @@ class MyPageState extends State<MyPage> with WidgetsBindingObserver {
187 210
188 ///获取商家时间区间内订单数量 211 ///获取商家时间区间内订单数量
189 _getSellerReserveTotal() async { 212 _getSellerReserveTotal() async {
190 - await myModel.getSellerReserveTotal(context); 213 + if (Utils.getAuthority(context, '全店-月订单量')) {
  214 + await myModel.getSellerReserveTotal(context);
  215 + } else if (Utils.getAuthority(context, '个人-月订单量')) {
  216 + await _getSellerCountsListByMonth(isShowLoading: true);
  217 + }
191 } 218 }
192 219
193 //检查版本更新 220 //检查版本更新
@@ -545,11 +572,14 @@ class MyPageState extends State<MyPage> with WidgetsBindingObserver { @@ -545,11 +572,14 @@ class MyPageState extends State<MyPage> with WidgetsBindingObserver {
545 } 572 }
546 if (Utils.getAuthority( 573 if (Utils.getAuthority(
547 context, '全店-月订单量')) { 574 context, '全店-月订单量')) {
548 - NavigatorUtil.goMonthOrderPage(  
549 - context,  
550 - DateTime.now().year.toString(),  
551 - DateTime.now().month.toString(),  
552 - ); 575 + // NavigatorUtil.goMonthOrderPage(
  576 + // context,
  577 + // DateTime.now().year.toString(),
  578 + // DateTime.now().month.toString(),
  579 + // );
  580 +
  581 + NavigatorUtil.goMonthOrderHomePage(
  582 + context);
553 } else { 583 } else {
554 if (Utils.getAuthority( 584 if (Utils.getAuthority(
555 context, '个人-月订单量')) { 585 context, '个人-月订单量')) {
@@ -124,7 +124,7 @@ class PersonnelProvider extends ChangeNotifier { @@ -124,7 +124,7 @@ class PersonnelProvider extends ChangeNotifier {
124 } 124 }
125 } 125 }
126 } else { 126 } else {
127 - Utils.showToast(baseResp.msg ?? ""); 127 + Utils.showToast(baseResp?.msg ?? "");
128 } 128 }
129 129
130 notifyListeners(); 130 notifyListeners();
@@ -1928,4 +1928,13 @@ class NavigatorUtil { @@ -1928,4 +1928,13 @@ class NavigatorUtil {
1928 return _navigateTo(context, "${Routes.input_name_phone_setting_page}", 1928 return _navigateTo(context, "${Routes.input_name_phone_setting_page}",
1929 replace: replace); 1929 replace: replace);
1930 } 1930 }
  1931 +
  1932 + ///月度订单 全店和分经理显示
  1933 + static Future<dynamic> goMonthOrderHomePage(
  1934 + BuildContext context, {
  1935 + replace = false,
  1936 + }) {
  1937 + return _navigateTo(context, "${Routes.month_order_home_page}",
  1938 + replace: replace);
  1939 + }
1931 } 1940 }
@@ -195,6 +195,7 @@ import '../pages/my/comment_manage/comment_manage_home_page.dart'; @@ -195,6 +195,7 @@ import '../pages/my/comment_manage/comment_manage_home_page.dart';
195 import '../pages/my/customer_type/my_customer/my_customer_home_page.dart'; 195 import '../pages/my/customer_type/my_customer/my_customer_home_page.dart';
196 import '../pages/my/customer_type/store_customer/day_order_page.dart'; 196 import '../pages/my/customer_type/store_customer/day_order_page.dart';
197 import '../pages/my/customer_type/store_customer/export_book_data_page.dart'; 197 import '../pages/my/customer_type/store_customer/export_book_data_page.dart';
  198 +import '../pages/my/customer_type/store_customer/month_order_home_page.dart';
198 import '../pages/my/customer_type/store_customer/month_order_page.dart'; 199 import '../pages/my/customer_type/store_customer/month_order_page.dart';
199 import '../pages/my/customer_type/store_customer/store_customer_home_page.dart'; 200 import '../pages/my/customer_type/store_customer/store_customer_home_page.dart';
200 import '../pages/my/customer_type/store_customer/store_customer_home_left_page_n.dart'; 201 import '../pages/my/customer_type/store_customer/store_customer_home_left_page_n.dart';
@@ -3276,3 +3277,18 @@ var inputNamePhoneSettingPageHandle = new Handler( @@ -3276,3 +3277,18 @@ var inputNamePhoneSettingPageHandle = new Handler(
3276 create: (_) => MarketingCenterProvider(), 3277 create: (_) => MarketingCenterProvider(),
3277 child: InputNamePhoneSettingPage()); 3278 child: InputNamePhoneSettingPage());
3278 }); 3279 });
  3280 +
  3281 +///月度订单 全店和分经理显示
  3282 +var monthOrderHomePageHandle = new Handler(
  3283 + handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
  3284 + // String id = params["id"].first;
  3285 + // // String smsTemplate = params["smsTemplate"].first;
  3286 + // CouponUse use = CouponUse.fromJson(
  3287 + // json.decode(FluroConvertUtils.fluroCnParamsDecode(params["use"].first)));
  3288 + // CouponSunModel couponSunModel = CouponSunModel.fromJson(json.decode(
  3289 + // FluroConvertUtils.fluroCnParamsDecode(params["couponSunModel"].first)));
  3290 + return ChangeNotifierProvider<CustomerProvider>(
  3291 + create: (_) => CustomerProvider(),
  3292 + child: ChangeNotifierProvider<PersonnelProvider>(
  3293 + create: (_) => PersonnelProvider(), child: MonthOrderHomePage()));
  3294 +});
@@ -315,6 +315,11 @@ class Routes { @@ -315,6 +315,11 @@ class Routes {
315 static String input_name_phone_setting_page = 315 static String input_name_phone_setting_page =
316 "/input_name_phone_setting_page"; //姓名和电话录入配置页 316 "/input_name_phone_setting_page"; //姓名和电话录入配置页
317 317
  318 + static String month_order_home_page =
  319 + "/month_order_home_page"; //月度订单 全店和分经理显示
  320 +
  321 +
  322 +
318 static void configureRoutes(FluroRouter router) { 323 static void configureRoutes(FluroRouter router) {
319 router.notFoundHandler = new Handler( 324 router.notFoundHandler = new Handler(
320 handlerFunc: (BuildContext context, Map<String, List<String>> params) { 325 handlerFunc: (BuildContext context, Map<String, List<String>> params) {
@@ -589,5 +594,10 @@ class Routes { @@ -589,5 +594,10 @@ class Routes {
589 594
590 router.define(input_name_phone_setting_page, handler: inputNamePhoneSettingPageHandle); 595 router.define(input_name_phone_setting_page, handler: inputNamePhoneSettingPageHandle);
591 596
  597 + router.define(month_order_home_page, handler: monthOrderHomePageHandle);
  598 +
  599 +
  600 +
  601 +
592 } 602 }
593 } 603 }