Commit 1ad6aabdae0f78a98893fd56eb20ec583e2b88d1

Authored by wdn127929
1 parent 2a7741d6

月度订单 全店和部分经理

... ... @@ -225,7 +225,11 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver {
child: ChangeNotifierProvider<StoreBaseIndoProvider>(
create: (_) => StoreBaseIndoProvider(),
child: ChangeNotifierProvider<CollectStoreProvider>(
create: (_) => CollectStoreProvider(), child: MyPage()),
create: (_) => CollectStoreProvider(),
child: ChangeNotifierProvider<CustomerProvider>(
create: (_) => CustomerProvider(),
child: ChangeNotifierProvider<UserModel>(
create: (_) => UserModel(), child: MyPage()))),
)));
WidgetsBinding.instance.addPostFrameCallback((_) async {
// bus.on('refresh_token', (arg) {
... ... @@ -1413,7 +1417,7 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver {
// if (widget.initialIndex == 1 && needRefreshTemp == false) {
// } else {
_clearBadge(() {
// _getAllUnMessages();
// _getAllUnMessages();
});
// }
... ...
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/pages/my/customer_type/store_customer/store_customer_home_left_page.dart';
import 'package:one_key/pages/my/customer_type/store_customer/store_customer_home_right_page.dart';
import 'package:one_key/widgets/h_empty_view.dart';
import 'package:one_key/widgets/system_app_bar.dart';
import 'package:provider/provider.dart';
import '../../../../models/store_customer_home_model.dart';
import '../../../../provider/collect_store_provider.dart';
import '../../../../provider/customer_provider.dart';
import '../../../../provider/user_model.dart';
import '../../../../res/colors.dart';
import '../../../../route/navigator_util.dart';
import '../../../../utils/event_bus.dart';
import '../../../../utils/screen_util.dart';
import '../../../../widgets/v_empty_view.dart';
import 'month_order_home_right_page.dart';
import 'month_order_page.dart';
/***
* 月度订单首页、全店和分经理展示,我的页面进入
*/
class MonthOrderHomePage extends StatefulWidget {
MonthOrderHomePage({Key key}) : super(key: key);
@override
_MonthOrderHomePageState createState() => _MonthOrderHomePageState();
}
class _MonthOrderHomePageState extends State<MonthOrderHomePage>
with TickerProviderStateMixin {
TabController tabController;
Color selectedColor = MyColours.color_ffffff;
Color unSelectedColor = MyColours.color_BFC4D4;
// CustomerProvider customerProvider;
// int selectIndex = 0;
@override
void initState() {
// TODO: implement initState
super.initState();
tabController = TabController(length: 2, vsync: this);
tabController.addListener(() {
if (tabController.index == tabController.animation.value) {
print(tabController.index);
// customerProvider.index = tabController.index;
// customerProvider.searchData(customerProvider.controller.text);
}
// selectIndex = tabController.index;
// 点击tab时或滑动tab回调一次
// if (tabController.index.toDouble() == tabController.animation.value) {
// selectIndex = tabController.index;
// }
});
WidgetsBinding.instance.addPostFrameCallback((_) {
// _getSellerGuestManage();
});
}
@override
void dispose() {
EventBus().emit('changeStatusColor');
super.dispose();
}
///全店客情首页
// _getSellerGuestManage() async {
// StoreCustomerHomeSunModel model =
// await customerProvider.getSellerGuestManage(context);
// // setState(() {});
// }
@override
Widget build(BuildContext context) {
// customerProvider = Provider.of<CustomerProvider>(context, listen: false);
return Scaffold(
appBar: SystemAppBar(
'月度订单',
),
body: Column(
children: [
Container(
alignment: Alignment.center,
width: double.infinity,
color: MyColours.color_ffffff,
padding: EdgeInsets.only(bottom: w(9), top: w(9)),
child: TabBar(
onTap: (index) {
print(index);
},
controller: tabController,
isScrollable: true,
indicatorColor: MyColours.color_438E93,
indicatorSize: TabBarIndicatorSize.tab,
indicatorWeight: w(2),
unselectedLabelColor: MyColours.color_999999,
labelColor: MyColours.color_438E93,
labelStyle: TextStyle(
fontSize: w(14),
color: MyColours.color_438E93,
fontWeight: FontWeight.bold),
unselectedLabelStyle:
TextStyle(fontSize: w(12), color: MyColours.color_999999),
indicatorPadding: EdgeInsets.only(left: w(24), right: w(24)),
// labelPadding:
// EdgeInsets.symmetric(horizontal: w(32)), //tabs控件之间的间距
tabs: [
Tab(
height: w(30),
child: Container(
width: w(100),
alignment: Alignment.center,
child: Text(
'全店',
),
)),
Tab(
height: w(30),
child: Container(
width: w(100),
alignment: Alignment.center,
child: Text(
'分经理',
)),
),
],
// indicatorPadding: EdgeInsets.only(
// left: ScreenUtil().setWidth(16),
// right: ScreenUtil().setWidth(32)),
// indicatorWeight: ScreenUtil().setWidth(6.0),
)),
Expanded(
child: TabBarView(controller: tabController, children: [
MonthOrderPage(
year: DateTime.now().year.toString(),
month: DateTime.now().month.toString(),
needAppBar: false,
), //全店
ChangeNotifierProvider<CustomerProvider>(
create: (_) => CustomerProvider(),
child: MonthOrderHomeRightPage()), //分经理
]),
),
],
));
}
}
... ...
import 'dart:convert';
import 'dart:ui';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/constant/state.dart';
import 'package:one_key/models/guest_manage_model.dart';
import 'package:one_key/models/marketing_by_uid_model.dart';
import 'package:one_key/provider/customer_provider.dart';
import 'package:one_key/provider/personnel_provider.dart';
import 'package:one_key/provider/user_model.dart';
import 'package:one_key/res/colors.dart';
import 'package:one_key/route/navigator_util.dart';
import 'package:one_key/utils/event_bus.dart';
import 'package:one_key/utils/utils.dart';
import 'package:one_key/widgets/h_empty_view.dart';
import 'package:one_key/widgets/page_exception.dart';
import 'package:one_key/widgets/round_button.dart';
import 'package:one_key/widgets/system_app_bar.dart';
import 'package:one_key/widgets/v_empty_view.dart';
import 'package:provider/provider.dart';
import '../../../../models/message_menu_model.dart';
import '../../../../models/personnel_manage_model.dart';
import '../../../../models/seller_counts_list.dart';
import '../../../../models/store_customer_home_model.dart';
import '../../../../utils/screen_util.dart';
import '../../../../widgets/MyDivider.dart';
import '../month_item.dart';
import '../store_customer/bar_chart_page.dart';
import 'month_order_page.dart';
/**
* 月度订单分经理页面
*/
class MonthOrderHomeRightPage extends StatefulWidget {
final CustomerProvider customerProvider;
MonthOrderHomeRightPage({
Key key,
this.customerProvider,
}) : super(key: key);
@override
_MonthOrderHomeRightpageStateMonth createState() =>
_MonthOrderHomeRightpageStateMonth();
}
class _MonthOrderHomeRightpageStateMonth
extends State<MonthOrderHomeRightPage> {
ScrollController _controller = ScrollController();
// int year;
List<MessageMenuModel> menuTitle = [];
PersonnelProvider personnelProvider;
List<PersonnelManageSunModel> data = [];
CustomerProvider customerProvider;
String uid = '';
@override
void initState() {
super.initState();
// year = DateTime.now().year;
WidgetsBinding.instance.addPostFrameCallback((_) async {
print(mounted);
await _getAuthUserLists(showLoading: false);
await _getSellerCountsListByMonth(isShowLoading: false);
});
}
@override
void dispose() {
super.dispose();
}
//获取员工信息列表
_getAuthUserLists({bool showLoading = true}) async {
Map<String, String> params = {
"sellerid": Provider.of<UserModel>(context, listen: false).user.sellerid,
};
await personnelProvider.getAuthUserLists(context, params,
showLoading: showLoading);
if (personnelProvider.dataMap != null) {
data.addAll(personnelProvider.dataMap.admin.listdata);
data.addAll(personnelProvider.dataMap.shopowner.listdata);
data.addAll(personnelProvider.dataMap.manager.listdata);
data.addAll(personnelProvider.dataMap.cashier.listdata);
data.addAll(personnelProvider.dataMap.waiter.listdata);
data.addAll(personnelProvider.dataMap.reception.listdata);
data.addAll(personnelProvider.dataMap.welcome.listdata);
data.forEach((element) {
MessageMenuModel messageMenuModel = MessageMenuModel();
messageMenuModel.uid = element.id;
messageMenuModel.title = element.nickName ?? element.account;
messageMenuModel.select = false;
if (messageMenuModel.title != null) {
menuTitle.add(messageMenuModel);
}
});
if (menuTitle.length > 0) {
menuTitle[0].select = true;
uid = menuTitle[0].uid;
}
}
if (mounted) {
setState(() {});
}
}
_getSellerCountsListByMonth(
{isShowLoading = false, VoidCallback callback}) async {
if (mounted) {
String uid = '';
menuTitle.forEach((element) {
if (element.select) {
uid = element.uid;
}
});
Map<String, String> params = {
'sellerid':
Provider.of<UserModel>(context, listen: false).user.sellerid,
'year': DateTime.now().year.toString(),
'month': DateTime.now().month.toString(),
'uid': uid
};
await customerProvider.getSellerCountsListByMonth(context, params,
isShowLoading: isShowLoading);
// setState(() {});
if ((customerProvider.monthStaticsData == null ||
customerProvider.monthStaticsData.dayList.length == 0) &&
callback != null) {
callback();
}
}
}
// _getSellerCountsList({isShowLoading = false, VoidCallback callback}) async {
// String uid = '';
// menuTitle.forEach((element) {
// if (element.select) {
// uid = element.uid;
// }
// });
// Map<String, String> params = {
// 'sellerid': Provider.of<UserModel>(context, listen: false).user.sellerid,
// 'year': year.toString(),
// 'uid': uid
// };
// await widget.customerProvider
// .getSellerCountsList(context, params, isShowLoading: isShowLoading);
// widget.customerProvider.pageStateMonthMyHome = pageStateMonth.Success;
// setState(() {});
// if ((widget.customerProvider.managerStatisticsList == null ||
// widget.customerProvider.managerStatisticsList.length == 0) &&
// callback != null) {
// callback();
// }
// }
@override
Widget build(BuildContext context) {
personnelProvider = Provider.of<PersonnelProvider>(context, listen: true);
customerProvider = Provider.of<CustomerProvider>(context, listen: true);
return Scaffold(
// backgroundColor: MyColours.color_f3f3f3,
// appBar: SystemAppBar('我的客情', onTap: () {
// EventBus().emit('changeStatusColor');
// Navigator.pop(context);
// }),
body: Column(children: [
Container(
color: MyColours.color_ffffff,
height: ScreenUtil().setWidth(70),
padding: EdgeInsets.only(bottom: w(12)),
margin: EdgeInsets.only(bottom: ScreenUtil().setWidth(10)),
child: Row(
children: [
HEmptyView(48),
Expanded(
child: SizedBox(
// height: ScreenUtil().setWidth(30),
child: ListView.builder(
itemCount: menuTitle.length,
shrinkWrap: true,
controller: _controller,
scrollDirection: Axis.horizontal,
itemBuilder: (BuildContext contxt, int index) {
return InkWell(
onTap: () {
for (MessageMenuModel item in menuTitle) {
item.select = false;
}
menuTitle[index].select = true;
uid = menuTitle[index].uid;
customerProvider.pageStateMonth =
PageState.Loading;
setState(() {});
_getSellerCountsListByMonth();
// _getMarketingByUid();
// _getSellerCountsList();
// _getSellerCountsListByMonth(
// isShowLoading: true, callback: () {});
// offset = 0;
// 1提前点餐/2内部预订/10在线预订/15店内消息传/12在线买单
// if (index == 0) {
// typeid = '';
// } else if (index == 1) {
// //店内消息
// typeid = '15';
// } else if (index == 2) {
// //在线预订
// typeid = '10';
// } else if (index == 3) {
// //提前点餐
// typeid = '1';
// } else if (index == 4) {
// //在线买单
// typeid = '12';
// } else if (index == 5) {
// //会员充值
// typeid = '17';
// } else if (index == 6) {
// //存酒超期
// typeid = '18';
// }
// getMessage(typeid, showLoading: true);
},
child: Container(
// width: ScreenUtil().setWidth(104 * 2),
margin: EdgeInsets.only(
right: ScreenUtil().setWidth(30),
),
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(10),
vertical: ScreenUtil().setWidth(4)),
alignment: Alignment.center,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(
ScreenUtil().setWidth(10)),
// color: menuTitle[index].select
// ? MyColours.color_438E93
// : MyColours.color_999999,
border: Border.all(
color: menuTitle[index].select
? MyColours.color_438E93
: MyColours.color_999999,
width: ScreenUtil().setWidth(2))),
child: Text(
menuTitle[index].title,
overflow: TextOverflow.ellipsis,
style: TextStyle(
color: menuTitle[index].select
? MyColours.color_438E93
: MyColours.color_999999,
fontSize: ScreenUtil().setSp(24),
decoration: TextDecoration.none,
fontWeight: FontWeight.normal),
),
),
);
})))
],
),
),
Consumer<CustomerProvider>(builder: (context, model, _) {
if (model.pageStateMonth != PageState.Success) {
return Expanded(
child: ExceptionPage(
pageState: model.pageStateMonth,
callback: () async {
await _getAuthUserLists(showLoading: true);
await _getSellerCountsListByMonth(isShowLoading: true);
},
emptyMsg: "暂时没有预订数据哦",
emptyImg: "empty_search",
showMsg: "加载中,请稍后...",
));
} else {
return Expanded(
child: MonthOrderPage(
year: DateTime.now().year.toString(),
month: DateTime.now().month.toString(),
uid: uid,
needAppBar: false,
monthStaticsData: customerProvider.monthStaticsData));
}
}) //全店
// Consumer<CustomerProvider>(builder: (context, model, _) {
// if (model.pageStateMonthMyHome != pageStateMonth.Success) {
// if (model.pageStateMonthMyHome == pageStateMonth.Loading) {
// return SingleChildScrollView(
// controller: _controller,
// child: Stack(alignment: Alignment.center, children: [
// Column(children: [
// VEmptyView(10),
// // Stack(
// // children: [
// Container(
// height: w(80),
// color: MyColours.color_ffffff,
// child: Row(
// mainAxisAlignment: MainAxisAlignment.center,
// children: [
// Text(
// '',
// style: TextStyle(
// color: MyColours.color_438E93,
// fontSize: ScreenUtil().setSp(64),
// fontWeight: FontWeight.bold),
// ),
// Text(
// '位',
// style: TextStyle(
// color: MyColours.color_515151,
// // fontWeight: FontWeight.bold,
// fontSize: ScreenUtil().setSp(32)),
// )
// ],
// ),
// ),
// VEmptyView(10),
// Row(
// children: [
// _percentWidget('', '活跃', '', tap: false),
// HEmptyView(10),
// _percentWidget('', '60天未预订', '', tap: false),
// HEmptyView(10),
// _percentWidget('', '120天未预订', '', tap: false),
// ],
// ),
// // VEmptyView(10),
// // GridView.builder(
// // controller: _controller,
// // shrinkWrap: true,
// // cacheExtent: ScreenUtil().setWidth(0),
// // itemCount: 6,
// // gridDelegate:
// // SliverGridDelegateWithFixedCrossAxisCount(
// // crossAxisCount: 3,
// // childAspectRatio: 1.05,
// // mainAxisSpacing:
// // ScreenUtil().setWidth(10),
// // crossAxisSpacing:
// // ScreenUtil().setWidth(10)),
// // itemBuilder: (BuildContext context, int index) {
// // return _managerWidget('', '', null, '',
// // uid: '', onTap: () {});
// // })
// ]),
// Align(
// alignment: Alignment.center,
// child: Center(
// child: Column(
// mainAxisAlignment: MainAxisAlignment.center,
// crossAxisAlignment: CrossAxisAlignment.center,
// children: <Widget>[
// ClipRRect(
// borderRadius: BorderRadius.circular(10),
// child: Container(
// width: 200,
// height: 200,
// color: Colors.transparent,
// child: CupertinoActivityIndicator(
// color: MyColours.color_000000,
// radius: 30,
// ),
// ))
// // VEmptyView(30),
// // Text(
// // '加载中,请稍后...',
// // style: TextStyle(
// // color: MyColours.color_666666,
// // fontSize: ScreenUtil().setSp(24)),
// // )
// ],
// ),
// ))
// ]));
// }
// return Expanded(
// child: ExceptionPage(
// pageStateMonth: model.pageStateMonthMyHome,
// callback: () {
// _couponNetworkData();
// // _getMarketingByUid();
// _getSellerCountsList();
// },
// emptyMsg: "暂时没有我的客情哦",
// emptyImg: "empty_search",
// showMsg: "加载中,请稍后...",
// ));
// } else {
// return Expanded(
// child: SingleChildScrollView(
// controller: _controller,
// child: Column(
// children: [
// // VEmptyView(10),
// if (widget.customerProvider.guestSunmodel != null)
// Column(
// children: [
// InkWell(
// onTap: () {
// String uid = '';
// menuTitle.forEach((element) {
// if (element.select) {
// uid = element.uid;
// }
// });
// NavigatorUtil.goMyCustomerListPage(
// context, FromPage.FromPageMyCustomer, uid);
// },
// child: Container(
// height: w(80),
// color: MyColours.color_ffffff,
// child: Row(
// mainAxisAlignment: MainAxisAlignment.center,
// children: [
// // Text(
// // '累计',
// // style: TextStyle(
// // color: MyColours.color_515151,
// // fontWeight: FontWeight.bold,
// // fontSize: ScreenUtil().setSp(32)),
// // ),
// Text(
// '${widget.customerProvider.guestSunmodel.myCustomer}',
// style: TextStyle(
// color: MyColours.color_199095,
// fontSize: ScreenUtil().setSp(64),
// fontWeight: FontWeight.bold),
// ),
// Text(
// '位',
// style: TextStyle(
// color: MyColours.color_515151,
// fontWeight: FontWeight.bold,
// fontSize: ScreenUtil().setSp(32)),
// )
// ],
// ),
// )),
// VEmptyView(10),
// // GridView.builder(
// // controller: _controller,
// // shrinkWrap: true,
// // cacheExtent: ScreenUtil().setWidth(0),
// // itemCount: 3,
// // gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
// // crossAxisCount: 3,
// // childAspectRatio: 1,
// // mainAxisSpacing: ScreenUtil().setWidth(10),
// // crossAxisSpacing: ScreenUtil().setWidth(10)),
// // itemBuilder: (BuildContext context, int index) {
// // // locationState = state;
// // return _percentWidget(
// // '${widget.customerProvider.guestSunmodel.active.count}',
// // '活跃客户',
// // '${widget.customerProvider.guestSunmodel.active.scale}');
// // }),
// Row(
// children: [
// _percentWidget(
// '${widget.customerProvider.guestSunmodel.active.count}',
// '活跃',
// '${widget.customerProvider.guestSunmodel.active.scale}'),
// HEmptyView(10),
// _percentWidget(
// '${widget.customerProvider.guestSunmodel.sleep.count}',
// '60天未预订',
// '${widget.customerProvider.guestSunmodel.sleep.scale}'),
// HEmptyView(10),
// _percentWidget(
// '${widget.customerProvider.guestSunmodel.drain.count}',
// '120天未预订',
// '${widget.customerProvider.guestSunmodel.drain.scale}'),
// ],
// ),
// ],
// ),
// // ListView.builder(
// // controller: _controller,
// // shrinkWrap: true,
// // cacheExtent: ScreenUtil().setWidth(0),
// // itemCount: widget.customerProvider.guestSunmodel
// // .tips.task ==
// // null ||
// // widget.customerProvider.guestSunmodel.tips
// // .task.length ==
// // 0
// // ? 0
// // : widget.customerProvider.guestSunmodel.tips
// // .task.length,
// // itemBuilder: (BuildContext context, int index) {
// // // locationState = state;
// // Task data = widget.customerProvider.guestSunmodel
// // .tips.task[index];
// // return Column(
// // children: [
// // VEmptyView(10),
// // Container(
// // color: MyColours.color_ffffff,
// // padding: EdgeInsets.symmetric(
// // horizontal: ScreenUtil().setWidth(20),
// // vertical: ScreenUtil().setWidth(30)),
// // child: Row(
// // children: [
// // Image.asset(
// // Utils.getImgPath('warning'),
// // width: ScreenUtil().setWidth(42),
// // ),
// // HEmptyView(15),
// // Expanded(
// // child: Column(
// // crossAxisAlignment:
// // CrossAxisAlignment.start,
// // children: [
// // Text(
// // '店内任务:${data.content}',
// // maxLines: 1,
// // overflow: TextOverflow.ellipsis,
// // style: TextStyle(
// // color: MyColours.color_333333,
// // fontSize:
// // ScreenUtil().setSp(32)),
// // ),
// // data.aid != null &&
// // data.aidStr != null
// // ? Padding(
// // padding: EdgeInsets.only(
// // top: ScreenUtil()
// // .setWidth(8)),
// // child: Text(
// // '优惠内容:${data.aidStr}',
// // maxLines: 1,
// // overflow:
// // TextOverflow.ellipsis,
// // style: TextStyle(
// // color: MyColours
// // .color_333333,
// // fontSize: ScreenUtil()
// // .setSp(24)),
// // ),
// // )
// // : SizedBox(),
// // VEmptyView(8),
// // Text(
// // '创建人:${data.createUser}',
// // maxLines: 1,
// // overflow: TextOverflow.ellipsis,
// // style: TextStyle(
// // color: MyColours.color_333333,
// // fontSize:
// // ScreenUtil().setSp(26)),
// // )
// // ],
// // )),
// // HEmptyView(20),
// // Column(children: [
// // RoundButton(
// // text: '立即完成',
// // padding: EdgeInsets.symmetric(
// // horizontal:
// // ScreenUtil().setWidth(26)),
// // gradientStart:
// // MyColours.color_199095,
// // gradientEnd: MyColours.color_199095,
// // // borderColor: MyColours.color_999999,
// // radius: ScreenUtil().setWidth(40),
// // height: ScreenUtil().setWidth(64),
// // width: ScreenUtil().setWidth(180),
// // fontSize: 26,
// // isBold: false,
// // onPressed: () {
// // SellerList sellerList =
// // SellerList.fromJson(
// // json.decode(
// // json.encode(data)));
// // NavigatorUtil
// // .goMyMakeMarkingPageOnlyShow(
// // context, sellerList);
// // },
// // ),
// // data.remainingTime != null
// // ? Padding(
// // padding: EdgeInsets.only(
// // top: ScreenUtil()
// // .setWidth(6)),
// // child: Text(
// // '${data.remainingTime}天内',
// // maxLines: 1,
// // overflow:
// // TextOverflow.ellipsis,
// // style: TextStyle(
// // color: Color.fromRGBO(
// // 215, 30, 40, 1),
// // fontSize: ScreenUtil()
// // .setSp(26)),
// // ))
// // : SizedBox()
// // ])
// // ],
// // ),
// // ),
// // ],
// // );
// // }),
// // ListView.builder(
// // controller: _controller,
// // shrinkWrap: true,
// // cacheExtent: ScreenUtil().setWidth(0),
// // itemCount: widget.customerProvider.guestSunmodel
// // .tips.recover ==
// // null ||
// // widget.customerProvider.guestSunmodel.tips
// // .recover.length ==
// // 0
// // ? 0
// // : 1,
// // itemBuilder: (BuildContext context, int index) {
// // // locationState = state;
// // return Column(
// // children: [
// // VEmptyView(10),
// // Container(
// // color: MyColours.color_ffffff,
// // padding: EdgeInsets.symmetric(
// // horizontal: ScreenUtil().setWidth(20),
// // vertical: ScreenUtil().setWidth(30)),
// // child: Row(
// // children: [
// // Image.asset(
// // Utils.getImgPath('warning'),
// // width: ScreenUtil().setWidth(42),
// // ),
// // HEmptyView(15),
// // Expanded(
// // child: Text(
// // '${widget.customerProvider.guestSunmodel.tips.recover[0]}',
// // maxLines: 10,
// // overflow: TextOverflow.ellipsis,
// // style: TextStyle(
// // color: MyColours.color_333333,
// // fontSize: ScreenUtil().setSp(32)),
// // )),
// // HEmptyView(20),
// // RoundButton(
// // text: '一键追回',
// // padding: EdgeInsets.symmetric(
// // horizontal:
// // ScreenUtil().setWidth(26)),
// // gradientStart: MyColours.color_199095,
// // gradientEnd: MyColours.color_199095,
// // // borderColor: MyColours.color_999999,
// // radius: ScreenUtil().setWidth(40),
// // height: ScreenUtil().setWidth(64),
// // width: ScreenUtil().setWidth(180),
// // fontSize: 26,
// // isBold: false,
// // onPressed: () {
// // String uid = '';
// // menuTitle.forEach((element) {
// // if (element.select) {
// // uid = element.uid;
// // }
// // });
// // NavigatorUtil.goMyMakeMarkingPage(
// // context, uid,
// // fromPage: FromPage
// // .FromPageMyCustomer,
// // homeGid:
// // Utils.listToStringEnglish1(
// // widget
// // .customerProvider
// // .guestSunmodel
// // .tips
// // .recover[1]));
// // },
// // ),
// // ],
// // ),
// // ),
// // ],
// // );
// // }),
// // ListView.builder(
// // controller: _controller,
// // shrinkWrap: true,
// // cacheExtent: ScreenUtil().setWidth(0),
// // itemCount: widget.customerProvider.guestSunmodel
// // .tips.awaken ==
// // null ||
// // widget.customerProvider.guestSunmodel.tips
// // .awaken.length ==
// // 0
// // ? 0
// // : 1,
// // itemBuilder: (BuildContext context, int index) {
// // // locationState = state;
// // return Column(
// // children: [
// // VEmptyView(10),
// // Container(
// // color: MyColours.color_ffffff,
// // padding: EdgeInsets.symmetric(
// // horizontal: ScreenUtil().setWidth(20),
// // vertical: ScreenUtil().setWidth(30)),
// // child: Row(
// // children: [
// // Image.asset(
// // Utils.getImgPath('warning'),
// // width: ScreenUtil().setWidth(42),
// // ),
// // HEmptyView(15),
// // Expanded(
// // child: Text(
// // '${widget.customerProvider.guestSunmodel.tips.awaken[0]}',
// // maxLines: 10,
// // overflow: TextOverflow.ellipsis,
// // style: TextStyle(
// // color: MyColours.color_333333,
// // fontSize: ScreenUtil().setSp(32)),
// // )),
// // HEmptyView(20),
// // RoundButton(
// // text: '一键唤醒',
// // padding: EdgeInsets.symmetric(
// // horizontal:
// // ScreenUtil().setWidth(26)),
// // gradientStart: MyColours.color_199095,
// // gradientEnd: MyColours.color_199095,
// // // borderColor: MyColours.color_999999,
// // radius: ScreenUtil().setWidth(40),
// // height: ScreenUtil().setWidth(64),
// // width: ScreenUtil().setWidth(180),
// // fontSize: 26,
// // isBold: false,
// // onPressed: () {
// // String uid = '';
// // menuTitle.forEach((element) {
// // if (element.select) {
// // uid = element.uid;
// // }
// // });
// // NavigatorUtil.goMyMakeMarkingPage(
// // context, uid,
// // fromPage: FromPage
// // .FromPageMyCustomer,
// // homeGid:
// // Utils.listToStringEnglish1(
// // widget
// // .customerProvider
// // .guestSunmodel
// // .tips
// // .awaken[1]));
// // },
// // ),
// // ],
// // ),
// // ),
// // ],
// // );
// // }),
// if (widget.customerProvider.managerStatisticsList != null &&
// widget.customerProvider.managerStatisticsList.length > 0)
// Column(
// children: [
// _chart(),
// ListView.builder(
// itemCount: widget
// .customerProvider.managerStatisticsList.length,
// shrinkWrap: true,
// controller: _controller,
// padding: EdgeInsets.symmetric(horizontal: w(10)),
// itemBuilder: (context, index) {
// SellerCountsListSunModel countsListSunModel = widget
// .customerProvider.managerStatisticsList[index];
// return InkWell(
// onTap: () {
// String uid = '';
// menuTitle.forEach((element) {
// if (element.select) {
// uid = element.uid;
// }
// });
// NavigatorUtil.goMonthOrderPage(
// context,
// year.toString(),
// countsListSunModel.monthss.toString(),
// uid: uid);
// },
// child: MonthItem(
// countsListSunModel: countsListSunModel));
// })
// ],
// )
// ],
// ),
// ));
// }
// })
// Container(
// color: MyColours.color_FAFAFA,
// padding: EdgeInsets.only(
// top: w(13), bottom: w(26), left: w(45), right: (45)),
// child: Stack(
// children: [
// RoundButton(
// onPressed: () {
// NavigatorUtil.goMyMarketingRecordsPage(
// context, FromPage.FromPageMyCustomer);
// },
// text: '历史营销记录',
// fontSize: 32,
// isBold: true,
// // margin: EdgeInsets.only(
// // top: w(13),
// // bottom: w(26),
// // left: w(45),
// // right: (45)),
// textColor: MyColours.color_F8F9FD,
// gradientStart: MyColours.color_199095,
// gradientEnd: MyColours.color_199095,
// borderColor: MyColours.color_199095,
// height: ScreenUtil().setWidth(86),
// // width: ScreenUtil().setWidth(260),
// radius: ScreenUtil().setWidth(10),
// ),
// showWarning
// ? Positioned(
// right: ScreenUtil().setWidth(30),
// top: ScreenUtil().setWidth(45 / 2),
// child: Image.asset(
// Utils.getImgPath('warning'),
// width: ScreenUtil().setWidth(35),
// ))
// : SizedBox()
// ],
// ))
]));
}
}
... ...
... ... @@ -26,7 +26,16 @@ class MonthOrderPage extends StatefulWidget {
final String month;
final String uid;
MonthOrderPage({Key key, this.year, this.month, this.uid}) : super(key: key);
final MonthStaticsSunModel monthStaticsData;
final bool needAppBar;
MonthOrderPage(
{Key key,
this.year,
this.month,
this.uid,
this.monthStaticsData,
this.needAppBar = true})
: super(key: key);
@override
_MonthOrderPageState createState() => _MonthOrderPageState();
... ... @@ -42,8 +51,13 @@ class _MonthOrderPageState extends State<MonthOrderPage> {
// TODO: implement initState
super.initState();
month = int.parse(widget.month);
WidgetsBinding.instance.addPostFrameCallback((_) {
_getSellerCountsListByMonth();
if (widget.monthStaticsData == null) {
_getSellerCountsListByMonth();
} else {
customerProvider.monthStaticsData = widget.monthStaticsData;
}
});
}
... ... @@ -57,6 +71,12 @@ class _MonthOrderPageState extends State<MonthOrderPage> {
return Utils.lunarCalendarHolidays(date);
}
// @override
// void didChangeDependencies() {
// super.didChangeDependencies();
// print('gggggg');
// }
String weekdayShow(String year, String month, String day) {
String dateStr = year +
'-' +
... ... @@ -108,19 +128,19 @@ class _MonthOrderPageState extends State<MonthOrderPage> {
InkWell(
onTap: () {
if (month == 1) {
if (widget.year ==
DateTime.now().year.toString()) {
month = DateTime.now().month;
} else {
month = 12;
}
// if (widget.year ==
// DateTime.now().year.toString()) {
// month = DateTime.now().month;
// } else {
month = 12;
// }
setState(() {});
_getSellerCountsListByMonth(
isShowLoading: true,
callback: () {
setState(() {
month = 1;
});
// setState(() {
// month = 1;
// });
});
} else {
setState(() {
... ... @@ -130,17 +150,18 @@ class _MonthOrderPageState extends State<MonthOrderPage> {
_getSellerCountsListByMonth(
isShowLoading: true,
callback: () {
setState(() {
month++;
});
// setState(() {
// month++;
// });
});
}
// _getGuestReserve(showLoading: true);
},
child: Padding(
child: Container(
color: Colors.transparent,
padding: EdgeInsets.only(
right: ScreenUtil().setWidth(20)),
top: w(20), bottom: w(20), right: w(10)),
child: Image.asset(
Utils.getImgPath('c_arrow_left'),
width: ScreenUtil().setWidth(24),
... ... @@ -168,15 +189,15 @@ class _MonthOrderPageState extends State<MonthOrderPage> {
onTap: () {
if (widget.year ==
DateTime.now().year.toString()) {
if (month == DateTime.now().month) {
if (month == 12) {
month = 1;
setState(() {});
_getSellerCountsListByMonth(
isShowLoading: true,
callback: () {
setState(() {
month = DateTime.now().month;
});
// setState(() {
// month = DateTime.now().month;
// });
});
} else {
setState(() {
... ... @@ -185,9 +206,9 @@ class _MonthOrderPageState extends State<MonthOrderPage> {
_getSellerCountsListByMonth(
isShowLoading: true,
callback: () {
setState(() {
month--;
});
// setState(() {
// month--;
// });
});
}
} else if (month == 12) {
... ... @@ -196,9 +217,9 @@ class _MonthOrderPageState extends State<MonthOrderPage> {
_getSellerCountsListByMonth(
isShowLoading: true,
callback: () {
setState(() {
month = 12;
});
// setState(() {
// month = 12;
// });
});
} else {
setState(() {
... ... @@ -207,18 +228,21 @@ class _MonthOrderPageState extends State<MonthOrderPage> {
_getSellerCountsListByMonth(
isShowLoading: true,
callback: () {
setState(() {
month--;
});
// setState(() {
// month--;
// });
});
}
// _getGuestReserve(showLoading: true);
},
child: Padding(
child: Container(
color: Colors.transparent,
padding: EdgeInsets.only(
left: ScreenUtil().setWidth(20),
),
left: w(10),
top: w(20),
bottom: w(20),
right: w(10)),
child: Image.asset(
Utils.getImgPath('c_arrow_right'),
width: ScreenUtil().setWidth(24),
... ... @@ -360,7 +384,7 @@ class _MonthOrderPageState extends State<MonthOrderPage> {
),
HEmptyView(10),
Text(
'到客${customerProvider.monthStaticsData.totalDaoKe??'0'}',
'到客${customerProvider.monthStaticsData.totalDaoKe ?? '0'}',
style: TextStyle(
color: MyColours.color_515151,
fontSize: font(
... ... @@ -506,7 +530,7 @@ class _MonthOrderPageState extends State<MonthOrderPage> {
customerProvider = Provider.of<CustomerProvider>(context, listen: true);
return Scaffold(
backgroundColor: MyColours.color_f3f3f3,
appBar: SystemAppBar('月度订单'),
appBar: widget.needAppBar ? SystemAppBar('月度订单') : null,
body: Consumer<CustomerProvider>(builder: (context, model, _) {
if (model.pageStateMonth != PageState.Success) {
return ExceptionPage(
... ...
... ... @@ -31,6 +31,7 @@ import '../../app.dart';
import '../../models/get_seller_info_model.dart';
import '../../provider/collect_store_provider.dart';
import '../../provider/customer_provider.dart';
import '../../provider/store_base_info_provider.dart';
import '../../utils/dialog_util.dart';
import '../../utils/screen_util.dart';
... ... @@ -168,6 +169,28 @@ class MyPageState extends State<MyPage> with WidgetsBindingObserver {
// }
// }
_getSellerCountsListByMonth(
{isShowLoading = false, VoidCallback callback}) async {
CustomerProvider customerProvider =
Provider.of<CustomerProvider>(context, listen: false);
Map<String, String> params = {
'sellerid': Provider.of<UserModel>(context, listen: false).user.sellerid,
'year': DateTime.now().year.toString(),
'month': DateTime.now().month.toString(),
'uid': Provider.of<UserModel>(context ,listen: false).user.openid
};
await customerProvider.getSellerCountsListByMonth(context, params,
isShowLoading: isShowLoading);
if ((customerProvider.monthStaticsData == null ||
customerProvider.monthStaticsData.dayList.length == 0)) {
myModel.reserveTotal = '0';
} else {
myModel.reserveTotal = customerProvider.monthStaticsData.totalRserve;
}
setState(() {});
}
///获取短信余量
_getSmsInfo(context) async {
// myModel = Provider.of<MyModel>(context, listen: false);
... ... @@ -187,7 +210,11 @@ class MyPageState extends State<MyPage> with WidgetsBindingObserver {
///获取商家时间区间内订单数量
_getSellerReserveTotal() async {
await myModel.getSellerReserveTotal(context);
if (Utils.getAuthority(context, '全店-月订单量')) {
await myModel.getSellerReserveTotal(context);
} else if (Utils.getAuthority(context, '个人-月订单量')) {
await _getSellerCountsListByMonth(isShowLoading: true);
}
}
//检查版本更新
... ... @@ -545,11 +572,14 @@ class MyPageState extends State<MyPage> with WidgetsBindingObserver {
}
if (Utils.getAuthority(
context, '全店-月订单量')) {
NavigatorUtil.goMonthOrderPage(
context,
DateTime.now().year.toString(),
DateTime.now().month.toString(),
);
// NavigatorUtil.goMonthOrderPage(
// context,
// DateTime.now().year.toString(),
// DateTime.now().month.toString(),
// );
NavigatorUtil.goMonthOrderHomePage(
context);
} else {
if (Utils.getAuthority(
context, '个人-月订单量')) {
... ...
... ... @@ -124,7 +124,7 @@ class PersonnelProvider extends ChangeNotifier {
}
}
} else {
Utils.showToast(baseResp.msg ?? "");
Utils.showToast(baseResp?.msg ?? "");
}
notifyListeners();
... ...
... ... @@ -1928,4 +1928,13 @@ class NavigatorUtil {
return _navigateTo(context, "${Routes.input_name_phone_setting_page}",
replace: replace);
}
///月度订单 全店和分经理显示
static Future<dynamic> goMonthOrderHomePage(
BuildContext context, {
replace = false,
}) {
return _navigateTo(context, "${Routes.month_order_home_page}",
replace: replace);
}
}
... ...
... ... @@ -195,6 +195,7 @@ import '../pages/my/comment_manage/comment_manage_home_page.dart';
import '../pages/my/customer_type/my_customer/my_customer_home_page.dart';
import '../pages/my/customer_type/store_customer/day_order_page.dart';
import '../pages/my/customer_type/store_customer/export_book_data_page.dart';
import '../pages/my/customer_type/store_customer/month_order_home_page.dart';
import '../pages/my/customer_type/store_customer/month_order_page.dart';
import '../pages/my/customer_type/store_customer/store_customer_home_page.dart';
import '../pages/my/customer_type/store_customer/store_customer_home_left_page_n.dart';
... ... @@ -3276,3 +3277,18 @@ var inputNamePhoneSettingPageHandle = new Handler(
create: (_) => MarketingCenterProvider(),
child: InputNamePhoneSettingPage());
});
///月度订单 全店和分经理显示
var monthOrderHomePageHandle = new Handler(
handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
// String id = params["id"].first;
// // String smsTemplate = params["smsTemplate"].first;
// CouponUse use = CouponUse.fromJson(
// json.decode(FluroConvertUtils.fluroCnParamsDecode(params["use"].first)));
// CouponSunModel couponSunModel = CouponSunModel.fromJson(json.decode(
// FluroConvertUtils.fluroCnParamsDecode(params["couponSunModel"].first)));
return ChangeNotifierProvider<CustomerProvider>(
create: (_) => CustomerProvider(),
child: ChangeNotifierProvider<PersonnelProvider>(
create: (_) => PersonnelProvider(), child: MonthOrderHomePage()));
});
... ...
... ... @@ -315,6 +315,11 @@ class Routes {
static String input_name_phone_setting_page =
"/input_name_phone_setting_page"; //姓名和电话录入配置页
static String month_order_home_page =
"/month_order_home_page"; //月度订单 全店和分经理显示
static void configureRoutes(FluroRouter router) {
router.notFoundHandler = new Handler(
handlerFunc: (BuildContext context, Map<String, List<String>> params) {
... ... @@ -589,5 +594,10 @@ class Routes {
router.define(input_name_phone_setting_page, handler: inputNamePhoneSettingPageHandle);
router.define(month_order_home_page, handler: monthOrderHomePageHandle);
}
}
... ...