Commit 70af9b8b97b06838d898b49b109c2e46b7d8a2ce

Authored by wdn127929
1 parent 089cc473

我的客情首页UI

import 'dart:convert';
import 'dart:ui';
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/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 '../../../../utils/screen_util.dart';
import '../../../../widgets/MyDivider.dart';
import '../store_customer/bar_chart_page.dart';
/**
* 我的客情首页
*/
class MyCustomerHomePage extends StatefulWidget {
MyCustomerHomePage({Key key}) : super(key: key);
@override
_MyCustomerHomePageState createState() => _MyCustomerHomePageState();
}
class _MyCustomerHomePageState extends State<MyCustomerHomePage> {
ScrollController _controller = ScrollController();
CustomerProvider customerProvider;
bool showWarning = false;
int year;
List<BarData> dataList = [
BarData(MyColours.color_8EBBBE, 200),
BarData(MyColours.color_8EBBBE, 8),
BarData(MyColours.color_8EBBBE, 15),
BarData(MyColours.color_8EBBBE, 5),
BarData(MyColours.color_8EBBBE, 2),
BarData(MyColours.color_8EBBBE, 2),
BarData(MyColours.color_8EBBBE, 18),
BarData(MyColours.color_8EBBBE, 168),
BarData(MyColours.color_8EBBBE, 15),
BarData(MyColours.color_8EBBBE, 5),
BarData(MyColours.color_8EBBBE, null ?? 0),
BarData(MyColours.color_8EBBBE, 0),
];
@override
void initState() {
super.initState();
year = DateTime.now().year;
WidgetsBinding.instance.addPostFrameCallback((_) {
_couponNetworkData();
_getMarketingByUid();
});
bus.on("refresh_my_customer_home", (arg) {
_getGuestManageData(isShowLoading: false);
_getMarketingByUid();
});
}
@override
void dispose() {
bus.off('refresh_my_customer_home');
// bus.off("refresh_coupon_list");
super.dispose();
}
///我的客户首页
_getGuestManageData({bool isShowLoading = true}) async {
GuestManageSunModel model = await customerProvider
.getGuestManageData(context, isShowLoading: isShowLoading);
// setState(() {});
}
///消费券
_couponNetworkData({bool isShowLoading = true}) async {
// customerMakingProvider.couponSelectIndex = 0;
Map<String, String> params = {
"uid": Provider.of<UserModel>(context, listen: false).user.openid,
};
await customerProvider.getCustomerSelectActivityNew(context, params,
isShowLoading: isShowLoading);
//此人已经新建好券
// if (customerProvider.couponListSelect.length > 0) {
// for (int i = 0; i < customerProvider.couponListSelect.length; i++) {
// if (widget.sellerList.aid == customerProvider.couponListSelect[i].id) {
// aidStr = customerProvider.couponListSelect[i].aname;
// }
// }
// customerProvider.notifyListeners();
// } else {
// //没有新建的优惠券
// }
_getGuestManageData();
}
_getMarketingByUid() async {
Map<String, String> params = {
"uid": Provider.of<UserModel>(context, listen: false).user.openid
};
// await customerProvider.getMarketingByUid(context, params);
MarketingByUidsSunModel myRecordData =
await customerProvider.getMarketingByUid(context, params);
if (myRecordData != null && myRecordData.sellerList.length > 0) {
bool temp = myRecordData.sellerList.any((value) {
return value.finishedStatus == '0';
});
setState(() {
showWarning = temp;
});
}
// await customerProvider.searchData(customerProvider.controller.text);
}
Widget _chart() {
return Container(
// height: w(216),
padding: EdgeInsets.only(top: w(16), left: w(16), right: w(16)),
margin: EdgeInsets.all(w(10)),
decoration: BoxDecoration(
color: MyColours.color_ffffff,
borderRadius: BorderRadius.circular(r(8))),
child: Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
InkWell(
onTap: () {
setState(() {
year--;
});
// _getGuestReserve(showLoading: true);
},
child: Padding(
padding:
EdgeInsets.only(right: ScreenUtil().setWidth(20)),
child: Image.asset(
Utils.getImgPath('c_arrow_left'),
width: ScreenUtil().setWidth(24),
))),
Text(
'${year}年',
style: TextStyle(
fontSize: ScreenUtil().setSp(32),
color: MyColours.color_000000),
),
InkWell(
onTap: () {
if (year >= DateTime.now().year) {
return;
}
setState(() {
year++;
});
// _getGuestReserve(showLoading: true);
},
child: Padding(
padding: EdgeInsets.only(
left: ScreenUtil().setWidth(20),
),
child: Image.asset(
Utils.getImgPath(year != DateTime.now().year
? 'c_arrow_right'
: 'c_arrow_right_gray'),
width: ScreenUtil().setWidth(24),
)))
],
),
VEmptyView(80),
Container(
width: double.infinity,
height: w(177),
child: LayoutBuilder(builder: (context, constraints) {
return BarChartWidget(
dataList: dataList,
);
}))
],
),
);
}
Widget _space({Color color = MyColours.color_515151, num height = 19}) {
return Row(
children: [
HEmptyView(10),
MyDivider(
w(1),
w(height),
color: color,
),
HEmptyView(10),
],
);
}
///活跃客户、沉睡客户、流失客户
Widget _percentWidget(String pnum, String btnTitle, String percent) {
return InkWell(
onTap: () async {
String index = '0';
if (btnTitle == '活跃') {
index = '1';
} else if (btnTitle == '60天未到店') {
index = '2';
} else if (btnTitle == '120天未到店') {
index = '3';
}
NavigatorUtil.goMyCustomerListPage(
context, FromPage.FromPageMyCustomer,
index: index);
},
child: Container(
color: MyColours.color_ffffff,
height: w(90),
width: (ScreenUtil().screenWidth - ScreenUtil().setWidth(20)) / 3,
// height: (ScreenUtil().screenWidth - ScreenUtil().setWidth(20)) / 3,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
VEmptyView(30),
Container(
height: w(24),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(pnum,
style: TextStyle(
color: btnTitle == '活跃'
? MyColours.color_199095
: btnTitle == '60天未到店'
? MyColours.color_E89243
: MyColours.color_E34D59,
fontSize: ScreenUtil().setSp(48),
fontWeight: FontWeight.bold)),
Text('位',
style: TextStyle(
color: MyColours.color_515151,
fontSize: ScreenUtil().setSp(28),
))
],
)),
VEmptyView(20),
RoundButton(
onPressed: () async {
String index = '0';
if (btnTitle == '活跃') {
index = '1';
} else if (btnTitle == '60天未到店') {
index = '2';
} else if (btnTitle == '120天未到店') {
index = '3';
}
NavigatorUtil.goMyCustomerListPage(
context, FromPage.FromPageMyCustomer,
index: index);
},
text: btnTitle,
fontSize: 24,
isBold: false,
textColor: MyColours.color_999999,
gradientStart: MyColours.color_ffffff,
gradientEnd: MyColours.color_ffffff,
borderColor: MyColours.color_ffffff,
height: ScreenUtil().setWidth(48),
// width: ScreenUtil().setWidth(160),
radius: ScreenUtil().setWidth(30),
),
// VEmptyView(16),
// percent == null
// ? SizedBox()
// : Text('${percent}%',
// style: TextStyle(
// color: MyColours.color_199095,
// fontSize: ScreenUtil().setSp(24),
// )),
],
),
));
}
@override
Widget build(BuildContext context) {
customerProvider = Provider.of<CustomerProvider>(context, listen: false);
return Scaffold(
backgroundColor: MyColours.color_f3f3f3,
appBar: SystemAppBar('我的客情', onTap: () {
EventBus().emit('changeStatusColor');
Navigator.pop(context);
}),
body: WillPopScope(onWillPop: () async {
EventBus().emit('changeStatusColor');
return true;
}, child: Consumer<CustomerProvider>(builder: (context, model, _) {
if (model.pageStateMyHome != PageState.Success) {
return ExceptionPage(
pageState: model.pageStateMyHome,
callback: () {
_getGuestManageData();
},
emptyMsg: "暂时没有我的客情哦",
emptyImg: "empty_search",
showMsg: "加载中,请稍后...",
);
} else {
return Column(children: [
Expanded(
child: SingleChildScrollView(
controller: _controller,
child: Column(
children: [
VEmptyView(10),
InkWell(
onTap: () {
NavigatorUtil.goMyCustomerListPage(
context, FromPage.FromPageMyCustomer);
},
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(
'${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(
// '${customerProvider.guestSunmodel.active.count}',
// '活跃客户',
// '${customerProvider.guestSunmodel.active.scale}');
// }),
Row(
children: [
_percentWidget(
'${customerProvider.guestSunmodel.active.count}',
'活跃',
'${customerProvider.guestSunmodel.active.scale}'),
HEmptyView(10),
_percentWidget(
'${customerProvider.guestSunmodel.sleep.count}',
'60天未到店',
'${customerProvider.guestSunmodel.sleep.scale}'),
HEmptyView(10),
_percentWidget(
'${customerProvider.guestSunmodel.drain.count}',
'120天未到店',
'${customerProvider.guestSunmodel.drain.scale}'),
],
),
ListView.builder(
controller: _controller,
shrinkWrap: true,
cacheExtent: ScreenUtil().setWidth(0),
itemCount: customerProvider.guestSunmodel.tips.task ==
null ||
customerProvider
.guestSunmodel.tips.task.length ==
0
? 0
: customerProvider.guestSunmodel.tips.task.length,
itemBuilder: (BuildContext context, int index) {
// locationState = state;
Task data =
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:
customerProvider.guestSunmodel.tips.recover ==
null ||
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(
'${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: () {
NavigatorUtil.goMyMakeMarkingPage(
context,
fromPage:
FromPage.FromPageMyCustomer,
homeGid: Utils.listToStringEnglish1(
customerProvider.guestSunmodel
.tips.recover[1]));
},
),
],
),
),
],
);
}),
ListView.builder(
controller: _controller,
shrinkWrap: true,
cacheExtent: ScreenUtil().setWidth(0),
itemCount: customerProvider.guestSunmodel.tips.awaken ==
null ||
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(
'${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: () {
NavigatorUtil.goMyMakeMarkingPage(
context,
fromPage:
FromPage.FromPageMyCustomer,
homeGid: Utils.listToStringEnglish1(
customerProvider.guestSunmodel
.tips.awaken[1]));
},
),
],
),
),
],
);
}),
_chart(),
ListView.builder(
itemCount: 10,
shrinkWrap: true,
controller: _controller,
padding: EdgeInsets.symmetric(horizontal: w(10)),
itemBuilder: (context, index) {
return Container(
margin: EdgeInsets.only(bottom: w(10)),
decoration: BoxDecoration(
color: MyColours.color_ffffff,
borderRadius: BorderRadius.circular(r(8))),
child: Column(
children: [
Container(
height: w(35),
padding: EdgeInsets.only(
left: w(15), right: w(30)),
decoration: BoxDecoration(
color: MyColours.color_33438E93,
borderRadius: BorderRadius.only(
topLeft: Radius.circular(r(8)),
topRight: Radius.circular(r(8)),
)),
child: Row(
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
children: [
Text(
'4月',
style: TextStyle(
color: MyColours.color_515151,
fontSize: font(18)),
),
Row(
mainAxisAlignment:
MainAxisAlignment.end,
children: [
Text(
'预订1089单',
style: TextStyle(
color: MyColours.color_515151,
fontSize: font(14)),
),
_space(),
Text(
'1190桌',
style: TextStyle(
color: MyColours.color_515151,
fontSize: font(14)),
),
],
),
],
),
),
Container(
padding: EdgeInsets.only(
left: w(15), top: w(8), bottom: w(8)),
child: Row(
children: [
Expanded(
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
Wrap(
runSpacing: w(6),
children: [
Text(
'到店 1059单',
style: TextStyle(
color: MyColours
.color_515151,
fontSize: font(12)),
),
HEmptyView(10),
MyDivider(
w(1),
w(17),
color: MyColours.color_DBDBDB,
),
HEmptyView(10),
Text(
'1160桌',
style: TextStyle(
color: MyColours
.color_515151,
fontSize: font(12)),
),
HEmptyView(10),
MyDivider(
w(1),
w(17),
color: MyColours.color_DBDBDB,
),
HEmptyView(10),
Text(
'8000人',
style: TextStyle(
color: MyColours
.color_515151,
fontSize: font(12)),
),
HEmptyView(10),
MyDivider(
w(1),
w(17),
color: MyColours.color_DBDBDB,
),
HEmptyView(10),
Text(
'30取消',
style: TextStyle(
color: MyColours
.color_515151,
fontSize: font(12)),
),
HEmptyView(10),
MyDivider(
w(1),
w(17),
color: MyColours.color_DBDBDB,
),
HEmptyView(10),
Text(
'到客97.2%',
style: TextStyle(
color: MyColours
.color_515151,
fontSize: font(12)),
),
],
),
VEmptyView(12),
Wrap(
// crossAxisAlignment: WrapCrossAlignment.start,
// runAlignment: WrapAlignment.center,
// alignment: WrapAlignment.center,
runSpacing: w(6),
children: [
Text(
'有金额订单数 6000',
style: TextStyle(
color: MyColours
.color_999999,
fontSize: font(
(10),
)),
),
HEmptyView(10),
MyDivider(
w(1),
w(12),
color: MyColours.color_DBDBDB,
),
HEmptyView(10),
Text(
'总消费 9585800.00元',
style: TextStyle(
color: MyColours
.color_999999,
fontSize: font(
(10),
)),
),
],
),
VEmptyView(12),
Wrap(
// crossAxisAlignment: WrapCrossAlignment.start,
// runAlignment: WrapAlignment.center,
// alignment: WrapAlignment.center,
runSpacing: w(6),
children: [
Text(
'人均 8885.58元',
style: TextStyle(
color: MyColours
.color_999999,
fontSize: font(
(10),
)),
),
HEmptyView(10),
MyDivider(
w(1),
w(12),
color: MyColours.color_DBDBDB,
),
HEmptyView(10),
Text(
'桌均 95888.58元',
style: TextStyle(
color: MyColours
.color_999999,
fontSize: font(
(10),
)),
),
],
),
VEmptyView(12),
Wrap(
// crossAxisAlignment: WrapCrossAlignment.start,
// runAlignment: WrapAlignment.center,
// alignment: WrapAlignment.center,
runSpacing: w(6),
children: [
Text(
'存酒 8位',
style: TextStyle(
color: MyColours
.color_999999,
fontSize: font(
(10),
)),
),
HEmptyView(10),
MyDivider(
w(1),
w(12),
color: MyColours.color_DBDBDB,
),
HEmptyView(10),
Text(
'提前点餐 9位',
style: TextStyle(
color: MyColours
.color_999999,
fontSize: font(
(10),
)),
),
HEmptyView(10),
MyDivider(
w(1),
w(12),
color: MyColours.color_DBDBDB,
),
HEmptyView(10),
Text(
'安排菜 9位',
style: TextStyle(
color: MyColours
.color_999999,
fontSize: font(
(10),
)),
),
],
),
],
)),
HEmptyView(12),
Container(
width: w(50),
child: Image.asset(
Utils.getImgPath('c_arrow_right'),
width: ScreenUtil().setWidth(24),
height: ScreenUtil().setWidth(24),
))
],
))
],
),
);
})
],
),
)),
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()
],
))
]);
}
})));
}
}
... ...
import 'dart:convert';
// import 'dart:convert';
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/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 '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/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';
class MyCustomerPage extends StatefulWidget {
MyCustomerPage({Key key}) : super(key: key);
// class MyCustomerPage extends StatefulWidget {
// MyCustomerPage({Key key}) : super(key: key);
@override
_MyCustomerPageState createState() => _MyCustomerPageState();
}
// @override
// _MyCustomerPageState createState() => _MyCustomerPageState();
// }
class _MyCustomerPageState extends State<MyCustomerPage> {
ScrollController _controller = ScrollController();
CustomerProvider customerProvider;
bool showWarning = false;
@override
void initState() {
super.initState();
// class _MyCustomerPageState extends State<MyCustomerPage> {
// ScrollController _controller = ScrollController();
// CustomerProvider customerProvider;
// bool showWarning = false;
// @override
// void initState() {
// super.initState();
WidgetsBinding.instance.addPostFrameCallback((_) {
_couponNetworkData();
// WidgetsBinding.instance.addPostFrameCallback((_) {
// _couponNetworkData();
_getMarketingByUid();
});
bus.on("refresh_my_customer_home", (arg) {
_getGuestManageData(isShowLoading: false);
_getMarketingByUid();
});
}
// _getMarketingByUid();
// });
// bus.on("refresh_my_customer_home", (arg) {
// _getGuestManageData(isShowLoading: false);
// _getMarketingByUid();
// });
// }
@override
void dispose() {
bus.off('refresh_my_customer_home');
// bus.off("refresh_coupon_list");
super.dispose();
}
// @override
// void dispose() {
// bus.off('refresh_my_customer_home');
// // bus.off("refresh_coupon_list");
// super.dispose();
// }
///我的客户首页
_getGuestManageData({bool isShowLoading = true}) async {
GuestManageSunModel model = await customerProvider
.getGuestManageData(context, isShowLoading: isShowLoading);
// setState(() {});
}
// ///我的客户首页
// _getGuestManageData({bool isShowLoading = true}) async {
// GuestManageSunModel model = await customerProvider
// .getGuestManageData(context, isShowLoading: isShowLoading);
// // setState(() {});
// }
///消费券
_couponNetworkData({bool isShowLoading = true}) async {
// customerMakingProvider.couponSelectIndex = 0;
Map<String, String> params = {
"uid": Provider.of<UserModel>(context, listen: false).user.openid,
};
await customerProvider.getCustomerSelectActivityNew(context, params,
isShowLoading: isShowLoading);
//此人已经新建好券
// if (customerProvider.couponListSelect.length > 0) {
// for (int i = 0; i < customerProvider.couponListSelect.length; i++) {
// if (widget.sellerList.aid == customerProvider.couponListSelect[i].id) {
// aidStr = customerProvider.couponListSelect[i].aname;
// }
// }
// customerProvider.notifyListeners();
// } else {
// //没有新建的优惠券
// }
_getGuestManageData();
}
// ///消费券
// _couponNetworkData({bool isShowLoading = true}) async {
// // customerMakingProvider.couponSelectIndex = 0;
// Map<String, String> params = {
// "uid": Provider.of<UserModel>(context, listen: false).user.openid,
// };
// await customerProvider.getCustomerSelectActivityNew(context, params,
// isShowLoading: isShowLoading);
// //此人已经新建好券
// // if (customerProvider.couponListSelect.length > 0) {
// // for (int i = 0; i < customerProvider.couponListSelect.length; i++) {
// // if (widget.sellerList.aid == customerProvider.couponListSelect[i].id) {
// // aidStr = customerProvider.couponListSelect[i].aname;
// // }
// // }
// // customerProvider.notifyListeners();
// // } else {
// // //没有新建的优惠券
// // }
// _getGuestManageData();
// }
_getMarketingByUid() async {
Map<String, String> params = {
"uid": Provider.of<UserModel>(context, listen: false).user.openid
};
// await customerProvider.getMarketingByUid(context, params);
// _getMarketingByUid() async {
// Map<String, String> params = {
// "uid": Provider.of<UserModel>(context, listen: false).user.openid
// };
// // await customerProvider.getMarketingByUid(context, params);
MarketingByUidsSunModel myRecordData =
await customerProvider.getMarketingByUid(context, params);
if (myRecordData != null && myRecordData.sellerList.length > 0) {
bool temp = myRecordData.sellerList.any((value) {
return value.finishedStatus == '0';
});
setState(() {
showWarning = temp;
});
}
// await customerProvider.searchData(customerProvider.controller.text);
}
// MarketingByUidsSunModel myRecordData =
// await customerProvider.getMarketingByUid(context, params);
// if (myRecordData != null && myRecordData.sellerList.length > 0) {
// bool temp = myRecordData.sellerList.any((value) {
// return value.finishedStatus == '0';
// });
// setState(() {
// showWarning = temp;
// });
// }
// // await customerProvider.searchData(customerProvider.controller.text);
// }
///活跃客户、沉睡客户、流失客户
Widget _percentWidget(String pnum, String btnTitle, String percent) {
return InkWell(
onTap: () async {
String index = '0';
if (btnTitle == '活跃客户') {
index = '1';
} else if (btnTitle == '沉睡客户') {
index = '2';
} else if (btnTitle == '流失客户') {
index = '3';
}
NavigatorUtil.goMyCustomerListPage(
context, FromPage.FromPageMyCustomer,
index: index);
},
child: Container(
color: MyColours.color_ffffff,
// height: ScreenUtil().setWidth(230),
width: (ScreenUtil().screenWidth - ScreenUtil().setWidth(20)) / 3,
height: (ScreenUtil().screenWidth - ScreenUtil().setWidth(20)) / 3,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(pnum,
style: TextStyle(
color: MyColours.color_199095,
fontSize: ScreenUtil().setSp(40),
fontWeight: FontWeight.bold)),
Text('位',
style: TextStyle(
color: MyColours.color_199095,
fontSize: ScreenUtil().setSp(24),
))
],
),
VEmptyView(20),
RoundButton(
onPressed: () async {
String index = '0';
if (btnTitle == '活跃客户') {
index = '1';
} else if (btnTitle == '沉睡客户') {
index = '2';
} else if (btnTitle == '流失客户') {
index = '3';
}
NavigatorUtil.goMyCustomerListPage(
context, FromPage.FromPageMyCustomer,
index: index);
},
text: btnTitle,
fontSize: 24,
isBold: false,
textColor: MyColours.color_333333,
gradientStart: MyColours.color_ffffff,
gradientEnd: MyColours.color_ffffff,
borderColor: Color.fromRGBO(118, 118, 118, 1),
height: ScreenUtil().setWidth(45),
width: ScreenUtil().setWidth(160),
radius: ScreenUtil().setWidth(30),
),
VEmptyView(16),
percent == null
? SizedBox()
: Text('${percent}%',
style: TextStyle(
color: MyColours.color_199095,
fontSize: ScreenUtil().setSp(24),
)),
],
),
));
}
// ///活跃客户、沉睡客户、流失客户
// Widget _percentWidget(String pnum, String btnTitle, String percent) {
// return InkWell(
// onTap: () async {
// String index = '0';
// if (btnTitle == '活跃客户') {
// index = '1';
// } else if (btnTitle == '沉睡客户') {
// index = '2';
// } else if (btnTitle == '流失客户') {
// index = '3';
// }
// NavigatorUtil.goMyCustomerListPage(
// context, FromPage.FromPageMyCustomer,
// index: index);
// },
// child: Container(
// color: MyColours.color_ffffff,
// // height: ScreenUtil().setWidth(230),
// width: (ScreenUtil().screenWidth - ScreenUtil().setWidth(20)) / 3,
// height: (ScreenUtil().screenWidth - ScreenUtil().setWidth(20)) / 3,
// child: Column(
// mainAxisAlignment: MainAxisAlignment.center,
// children: [
// Row(
// mainAxisAlignment: MainAxisAlignment.center,
// children: [
// Text(pnum,
// style: TextStyle(
// color: MyColours.color_199095,
// fontSize: ScreenUtil().setSp(40),
// fontWeight: FontWeight.bold)),
// Text('位',
// style: TextStyle(
// color: MyColours.color_199095,
// fontSize: ScreenUtil().setSp(24),
// ))
// ],
// ),
// VEmptyView(20),
// RoundButton(
// onPressed: () async {
// String index = '0';
// if (btnTitle == '活跃客户') {
// index = '1';
// } else if (btnTitle == '沉睡客户') {
// index = '2';
// } else if (btnTitle == '流失客户') {
// index = '3';
// }
// NavigatorUtil.goMyCustomerListPage(
// context, FromPage.FromPageMyCustomer,
// index: index);
// },
// text: btnTitle,
// fontSize: 24,
// isBold: false,
// textColor: MyColours.color_333333,
// gradientStart: MyColours.color_ffffff,
// gradientEnd: MyColours.color_ffffff,
// borderColor: Color.fromRGBO(118, 118, 118, 1),
// height: ScreenUtil().setWidth(45),
// width: ScreenUtil().setWidth(160),
// radius: ScreenUtil().setWidth(30),
// ),
// VEmptyView(16),
// percent == null
// ? SizedBox()
// : Text('${percent}%',
// style: TextStyle(
// color: MyColours.color_199095,
// fontSize: ScreenUtil().setSp(24),
// )),
// ],
// ),
// ));
// }
@override
Widget build(BuildContext context) {
customerProvider = Provider.of<CustomerProvider>(context, listen: false);
return Scaffold(
backgroundColor: Color.fromRGBO(246, 248, 250, 1),
appBar: SystemAppBar('我的客情', onTap: () {
EventBus().emit('changeStatusColor');
Navigator.pop(context);
}),
body: WillPopScope(onWillPop: () async {
EventBus().emit('changeStatusColor');
return true;
}, child: Consumer<CustomerProvider>(builder: (context, model, _) {
if (model.pageStateMyHome != PageState.Success) {
return ExceptionPage(
pageState: model.pageStateMyHome,
callback: () {
_getGuestManageData();
},
emptyMsg: "暂时没有我的客情哦",
emptyImg: "empty_search",
showMsg: "加载中,请稍后...",
);
} else {
return Column(children: [
Expanded(
child: SingleChildScrollView(
controller: _controller,
child: Column(
children: [
Container(
color: MyColours.color_ffffff,
padding: EdgeInsets.symmetric(
vertical: ScreenUtil().setWidth(30)),
child: Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'${customerProvider.guestSunmodel.myCustomer}',
style: TextStyle(
color: MyColours.color_199095,
fontSize: ScreenUtil().setSp(60),
fontWeight: FontWeight.bold),
),
Text(
'位',
style: TextStyle(
color: MyColours.color_199095,
fontWeight: FontWeight.bold,
fontSize: ScreenUtil().setSp(30)),
)
],
),
VEmptyView(10),
RoundButton(
onPressed: () async {
NavigatorUtil.goMyCustomerListPage(
context, FromPage.FromPageMyCustomer);
},
text: '我的客户',
fontSize: 24,
isBold: false,
textColor: MyColours.color_333333,
gradientStart: MyColours.color_ffffff,
gradientEnd: MyColours.color_ffffff,
borderColor: Color.fromRGBO(118, 118, 118, 1),
height: ScreenUtil().setWidth(45),
width: ScreenUtil().setWidth(160),
radius: ScreenUtil().setWidth(30),
)
],
),
),
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(
// '${customerProvider.guestSunmodel.active.count}',
// '活跃客户',
// '${customerProvider.guestSunmodel.active.scale}');
// }),
Row(
children: [
_percentWidget(
'${customerProvider.guestSunmodel.active.count}',
'活跃客户',
'${customerProvider.guestSunmodel.active.scale}'),
HEmptyView(10),
_percentWidget(
'${customerProvider.guestSunmodel.sleep.count}',
'沉睡客户',
'${customerProvider.guestSunmodel.sleep.scale}'),
HEmptyView(10),
_percentWidget(
'${customerProvider.guestSunmodel.drain.count}',
'流失客户',
'${customerProvider.guestSunmodel.drain.scale}'),
],
),
ListView.builder(
controller: _controller,
shrinkWrap: true,
cacheExtent: ScreenUtil().setWidth(0),
itemCount: customerProvider.guestSunmodel.tips.task ==
null ||
customerProvider
.guestSunmodel.tips.task.length ==
0
? 0
: customerProvider.guestSunmodel.tips.task.length,
itemBuilder: (BuildContext context, int index) {
// locationState = state;
Task data =
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: '立即完成',
// @override
// Widget build(BuildContext context) {
// customerProvider = Provider.of<CustomerProvider>(context, listen: false);
// return Scaffold(
// backgroundColor: Color.fromRGBO(246, 248, 250, 1),
// appBar: SystemAppBar('我的客情', onTap: () {
// EventBus().emit('changeStatusColor');
// Navigator.pop(context);
// }),
// body: WillPopScope(onWillPop: () async {
// EventBus().emit('changeStatusColor');
// return true;
// }, child: Consumer<CustomerProvider>(builder: (context, model, _) {
// if (model.pageStateMyHome != PageState.Success) {
// return ExceptionPage(
// pageState: model.pageStateMyHome,
// callback: () {
// _getGuestManageData();
// },
// emptyMsg: "暂时没有我的客情哦",
// emptyImg: "empty_search",
// showMsg: "加载中,请稍后...",
// );
// } else {
// return Column(children: [
// Expanded(
// child: SingleChildScrollView(
// controller: _controller,
// child: Column(
// children: [
// Container(
// color: MyColours.color_ffffff,
// padding: EdgeInsets.symmetric(
// vertical: ScreenUtil().setWidth(30)),
// child: Column(
// children: [
// Row(
// mainAxisAlignment: MainAxisAlignment.center,
// children: [
// Text(
// '${customerProvider.guestSunmodel.myCustomer}',
// style: TextStyle(
// color: MyColours.color_199095,
// fontSize: ScreenUtil().setSp(60),
// fontWeight: FontWeight.bold),
// ),
// Text(
// '位',
// style: TextStyle(
// color: MyColours.color_199095,
// fontWeight: FontWeight.bold,
// fontSize: ScreenUtil().setSp(30)),
// )
// ],
// ),
// VEmptyView(10),
// RoundButton(
// onPressed: () async {
// NavigatorUtil.goMyCustomerListPage(
// context, FromPage.FromPageMyCustomer);
// },
// text: '我的客户',
// fontSize: 24,
// isBold: false,
// textColor: MyColours.color_333333,
// gradientStart: MyColours.color_ffffff,
// gradientEnd: MyColours.color_ffffff,
// borderColor: Color.fromRGBO(118, 118, 118, 1),
// height: ScreenUtil().setWidth(45),
// width: ScreenUtil().setWidth(160),
// radius: ScreenUtil().setWidth(30),
// )
// ],
// ),
// ),
// 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(
// // '${customerProvider.guestSunmodel.active.count}',
// // '活跃客户',
// // '${customerProvider.guestSunmodel.active.scale}');
// // }),
// Row(
// children: [
// _percentWidget(
// '${customerProvider.guestSunmodel.active.count}',
// '活跃客户',
// '${customerProvider.guestSunmodel.active.scale}'),
// HEmptyView(10),
// _percentWidget(
// '${customerProvider.guestSunmodel.sleep.count}',
// '沉睡客户',
// '${customerProvider.guestSunmodel.sleep.scale}'),
// HEmptyView(10),
// _percentWidget(
// '${customerProvider.guestSunmodel.drain.count}',
// '流失客户',
// '${customerProvider.guestSunmodel.drain.scale}'),
// ],
// ),
// ListView.builder(
// controller: _controller,
// shrinkWrap: true,
// cacheExtent: ScreenUtil().setWidth(0),
// itemCount: customerProvider.guestSunmodel.tips.task ==
// null ||
// customerProvider
// .guestSunmodel.tips.task.length ==
// 0
// ? 0
// : customerProvider.guestSunmodel.tips.task.length,
// itemBuilder: (BuildContext context, int index) {
// // locationState = state;
// Task data =
// 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:
customerProvider.guestSunmodel.tips.recover ==
null ||
customerProvider.guestSunmodel.tips.recover
.length ==
0
? 0
: 1,
itemBuilder: (BuildContext context, int index) {
// locationState = state;
// 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:
// customerProvider.guestSunmodel.tips.recover ==
// null ||
// 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(
'${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: () {
NavigatorUtil.goMyMakeMarkingPage(
context,
fromPage:
FromPage.FromPageMyCustomer,
homeGid: Utils.listToStringEnglish1(
customerProvider.guestSunmodel
.tips.recover[1]));
},
),
],
),
),
],
);
}),
ListView.builder(
controller: _controller,
shrinkWrap: true,
cacheExtent: ScreenUtil().setWidth(0),
itemCount: customerProvider.guestSunmodel.tips.awaken ==
null ||
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(
// '${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: () {
// NavigatorUtil.goMyMakeMarkingPage(
// context,
// fromPage:
// FromPage.FromPageMyCustomer,
// homeGid: Utils.listToStringEnglish1(
// customerProvider.guestSunmodel
// .tips.recover[1]));
// },
// ),
// ],
// ),
// ),
// ],
// );
// }),
// ListView.builder(
// controller: _controller,
// shrinkWrap: true,
// cacheExtent: ScreenUtil().setWidth(0),
// itemCount: customerProvider.guestSunmodel.tips.awaken ==
// null ||
// 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(
'${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: () {
NavigatorUtil.goMyMakeMarkingPage(
context,
fromPage:
FromPage.FromPageMyCustomer,
homeGid: Utils.listToStringEnglish1(
customerProvider.guestSunmodel
.tips.awaken[1]));
},
),
],
),
),
],
);
})
],
),
)),
Padding(
padding: EdgeInsets.only(bottom: ScreenUtil().setWidth(30)),
child: Stack(
children: [
RoundButton(
onPressed: () {
NavigatorUtil.goMyMarketingRecordsPage(
context, FromPage.FromPageMyCustomer);
},
text: '营销记录',
fontSize: 24,
isBold: false,
textColor: MyColours.color_199095,
gradientStart: MyColours.color_ffffff,
gradientEnd: MyColours.color_ffffff,
borderColor: MyColours.color_199095,
height: ScreenUtil().setWidth(75),
width: ScreenUtil().setWidth(260),
radius: ScreenUtil().setWidth(10),
),
showWarning
? Positioned(
right: ScreenUtil().setWidth(30),
top: ScreenUtil().setWidth(40 / 2),
child: Image.asset(
Utils.getImgPath('warning'),
width: ScreenUtil().setWidth(35),
))
: SizedBox()
],
))
]);
}
})));
}
}
// 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(
// '${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: () {
// NavigatorUtil.goMyMakeMarkingPage(
// context,
// fromPage:
// FromPage.FromPageMyCustomer,
// homeGid: Utils.listToStringEnglish1(
// customerProvider.guestSunmodel
// .tips.awaken[1]));
// },
// ),
// ],
// ),
// ),
// ],
// );
// })
// ],
// ),
// )),
// Padding(
// padding: EdgeInsets.only(bottom: ScreenUtil().setWidth(30)),
// child: Stack(
// children: [
// RoundButton(
// onPressed: () {
// NavigatorUtil.goMyMarketingRecordsPage(
// context, FromPage.FromPageMyCustomer);
// },
// text: '营销记录',
// fontSize: 24,
// isBold: false,
// textColor: MyColours.color_199095,
// gradientStart: MyColours.color_ffffff,
// gradientEnd: MyColours.color_ffffff,
// borderColor: MyColours.color_199095,
// height: ScreenUtil().setWidth(75),
// width: ScreenUtil().setWidth(260),
// radius: ScreenUtil().setWidth(10),
// ),
// showWarning
// ? Positioned(
// right: ScreenUtil().setWidth(30),
// top: ScreenUtil().setWidth(40 / 2),
// child: Image.asset(
// Utils.getImgPath('warning'),
// width: ScreenUtil().setWidth(35),
// ))
// : SizedBox()
// ],
// ))
// ]);
// }
// })));
// }
// }
... ...
... ... @@ -20,7 +20,9 @@ import 'package:one_key/widgets/v_empty_view.dart';
import 'package:provider/provider.dart';
import '../../../../utils/screen_util.dart';
/***
* 全店客情首页
*/
class StoreCustomerHomePage extends StatefulWidget {
StoreCustomerHomePage({Key key}) : super(key: key);
... ...
import 'package:flutter/material.dart';
class MyColours {
static const Color color_33438E93 = Color(0x33438E93);
static const Color color_E89243 = Color(0xFFE89243);
static const Color color_3E6F51 = Color(0xFF3E6F51);
static const Color color_877952 = Color(0xFF877952);
... ...
... ... @@ -180,6 +180,7 @@ import '../pages/feast/feast_set_page.dart';
import '../pages/feast/feast_setmeal_page.dart';
import '../pages/feast/feast_wine_page.dart';
import '../pages/message/message_recharge_info_page.dart';
import '../pages/my/customer_type/my_customer/my_customer_home_page.dart';
import '../pages/my/customer_type/store_customer/store_customer_home_page.dart';
import '../pages/my/feast_manage/feast_deposit_type_page.dart';
import '../pages/my/feast_manage/feast_dish_page.dart';
... ... @@ -1050,7 +1051,7 @@ var myCustomerPageHandle = new Handler(
handlerFunc: (BuildContext context, Map<dynamic, List<Object>> params) {
// String idstr = params["idstr"].first;
return ChangeNotifierProvider<CustomerProvider>(
create: (_) => CustomerProvider(), child: MyCustomerPage());
create: (_) => CustomerProvider(), child: MyCustomerHomePage());
});
///客情列表
... ...