|
|
|
import 'dart:convert';
|
|
|
|
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart';
|
|
|
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|
...
|
...
|
@@ -12,6 +14,7 @@ import 'package:one_key/widgets/system_app_bar.dart'; |
|
|
|
import 'package:one_key/widgets/v_empty_view.dart';
|
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
|
|
|
|
import '../../../../provider/marketing_center_provider.dart';
|
|
|
|
import '../../../../utils/screen_util.dart';
|
|
|
|
import '../../../../widgets/h_empty_view.dart';
|
|
|
|
import '../../../../widgets/round_button.dart';
|
|
...
|
...
|
@@ -30,17 +33,44 @@ class _CustomerSettingPageState extends State<CustomerSettingPage> { |
|
|
|
String memberShow = '';
|
|
|
|
bool showLabel = false;
|
|
|
|
|
|
|
|
MarketingCenterProvider marketingCenterProvider;
|
|
|
|
|
|
|
|
@override
|
|
|
|
void initState() {
|
|
|
|
WidgetsBinding.instance.addPostFrameCallback((_) async {
|
|
|
|
// _getContantData();
|
|
|
|
_sellerGuestGet();
|
|
|
|
_getLabelBySellerid();
|
|
|
|
getDzSellerConf();
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
getDzSellerConf() async {
|
|
|
|
bool success = await marketingCenterProvider.getDzSellerConf(context);
|
|
|
|
if (success && marketingCenterProvider.dzSellerConfModel != null) {
|
|
|
|
customerProvider.ispcphone =
|
|
|
|
marketingCenterProvider.dzSellerConfModel.pcNotPhone == '1'
|
|
|
|
? true
|
|
|
|
: false;
|
|
|
|
customerProvider.isAddOver =
|
|
|
|
marketingCenterProvider.dzSellerConfModel.isAddOver == '1'
|
|
|
|
? true
|
|
|
|
: false;
|
|
|
|
customerProvider.isSetOver =
|
|
|
|
marketingCenterProvider.dzSellerConfModel.isSetOver == '1'
|
|
|
|
? true
|
|
|
|
: false;
|
|
|
|
customerProvider.isReserveOver =
|
|
|
|
marketingCenterProvider.dzSellerConfModel.isReserveOver == '1'
|
|
|
|
? true
|
|
|
|
: false;
|
|
|
|
}
|
|
|
|
setState(() {});
|
|
|
|
}
|
|
|
|
|
|
|
|
///修改客情配置
|
|
|
|
_sellerGuestSet() async {
|
|
|
|
|
|
|
|
Future<bool> _sellerGuestSet() async {
|
|
|
|
Map<String, String> params = {
|
|
|
|
"sellerid": Provider.of<UserModel>(context, listen: false).user.sellerid,
|
|
|
|
'is_additional': customerProvider.isrepair ? "1" : "0",
|
|
...
|
...
|
@@ -48,12 +78,55 @@ class _CustomerSettingPageState extends State<CustomerSettingPage> { |
|
|
|
};
|
|
|
|
bool success = await customerProvider.setSellerGuest(context, params,
|
|
|
|
showLoading: true);
|
|
|
|
if (success) {}
|
|
|
|
if (success) {
|
|
|
|
return true;
|
|
|
|
} else {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
_saveData() async {
|
|
|
|
Future.wait<bool>([
|
|
|
|
_setConfings(),
|
|
|
|
_sellerGuestSet(),
|
|
|
|
]).then((results) async {
|
|
|
|
print(results[0]);
|
|
|
|
if (results[0] && results[1]) {
|
|
|
|
// 全部保存成功
|
|
|
|
Utils.showToast('保存成功!');
|
|
|
|
} else if (results[0]) {
|
|
|
|
Utils.showToast('保存失败,请重试');
|
|
|
|
} else if (results[1]) {
|
|
|
|
Utils.showToast('保存失败,请重试');
|
|
|
|
} else {
|
|
|
|
//都失败
|
|
|
|
Utils.showToast('保存失败,请重试');
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
Future<bool> _setConfings() async {
|
|
|
|
Map<String, dynamic> data = {
|
|
|
|
"pc_not_phone": customerProvider.ispcphone ? '1' : '0',
|
|
|
|
"is_add_over": customerProvider.isAddOver?'1':'0',
|
|
|
|
"is_set_over": customerProvider.isSetOver ? '1' : '0',
|
|
|
|
"is_reserve_over": customerProvider.isReserveOver ? '1' : '0'
|
|
|
|
};
|
|
|
|
Map<String, String> params = {
|
|
|
|
'sid': Provider.of<UserModel>(context, listen: false).user.sellerid,
|
|
|
|
'data': jsonEncode(data),
|
|
|
|
};
|
|
|
|
bool success = await marketingCenterProvider.setConfings(context, params,
|
|
|
|
needToast: false);
|
|
|
|
if (success) {
|
|
|
|
return true;
|
|
|
|
} else {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
///获取客情配置
|
|
|
|
_sellerGuestGet() async {
|
|
|
|
|
|
|
|
bool success = await customerProvider.getSellerGuest(context);
|
|
|
|
|
|
|
|
// if (success) {
|
|
...
|
...
|
@@ -215,6 +288,8 @@ class _CustomerSettingPageState extends State<CustomerSettingPage> { |
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
customerProvider = Provider.of<CustomerProvider>(context, listen: true);
|
|
|
|
marketingCenterProvider =
|
|
|
|
Provider.of<MarketingCenterProvider>(context, listen: true);
|
|
|
|
return KeyboardDismissOnTap(
|
|
|
|
child: Scaffold(
|
|
|
|
backgroundColor: MyColours.color_ffffff,
|
|
...
|
...
|
@@ -318,6 +393,162 @@ class _CustomerSettingPageState extends State<CustomerSettingPage> { |
|
|
|
w(1),
|
|
|
|
color: MyColours.color_E7E7E7,
|
|
|
|
)),
|
|
|
|
VEmptyView(24),
|
|
|
|
InkWell(
|
|
|
|
onTap: () {
|
|
|
|
setState(() {
|
|
|
|
customerProvider.ispcphone = !customerProvider.ispcphone;
|
|
|
|
});
|
|
|
|
},
|
|
|
|
child: Container(
|
|
|
|
padding: EdgeInsets.symmetric(
|
|
|
|
vertical: w(8), horizontal: w(14)),
|
|
|
|
child: Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
children: [
|
|
|
|
Text('PC端预订允许不录入客户电话',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_515151,
|
|
|
|
fontSize: ScreenUtil().setSp(28))),
|
|
|
|
Image.asset(
|
|
|
|
customerProvider.ispcphone
|
|
|
|
? Utils.getImgPath('swich_on')
|
|
|
|
: Utils.getImgPath('swich_off'),
|
|
|
|
width: ScreenUtil().setWidth(88),
|
|
|
|
// height: ScreenUtil().setWidth(82),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
)),
|
|
|
|
Padding(
|
|
|
|
padding: EdgeInsets.only(left: w(14), right: w(10)),
|
|
|
|
child: MyDivider(
|
|
|
|
double.infinity,
|
|
|
|
w(1),
|
|
|
|
color: MyColours.color_E7E7E7,
|
|
|
|
)),
|
|
|
|
VEmptyView(48),
|
|
|
|
Container(
|
|
|
|
padding: EdgeInsets.symmetric(vertical: w(8)),
|
|
|
|
child: Text('历史订单',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_515151,
|
|
|
|
fontSize: ScreenUtil().setSp(32)))),
|
|
|
|
VEmptyView(22),
|
|
|
|
MyDivider(
|
|
|
|
double.infinity,
|
|
|
|
w(1),
|
|
|
|
color: MyColours.color_E7E7E7,
|
|
|
|
),
|
|
|
|
VEmptyView(24),
|
|
|
|
InkWell(
|
|
|
|
onTap: () {
|
|
|
|
setState(() {
|
|
|
|
customerProvider.isAddOver = !customerProvider.isAddOver;
|
|
|
|
});
|
|
|
|
// _sellerGuestSet();
|
|
|
|
},
|
|
|
|
child: Container(
|
|
|
|
padding: EdgeInsets.symmetric(
|
|
|
|
vertical: w(8), horizontal: w(14)),
|
|
|
|
child: Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
children: [
|
|
|
|
Text('允许新建过去餐段的订单',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_515151,
|
|
|
|
fontSize: ScreenUtil().setSp(28))),
|
|
|
|
Image.asset(
|
|
|
|
customerProvider.isAddOver
|
|
|
|
? Utils.getImgPath('swich_on')
|
|
|
|
: Utils.getImgPath('swich_off'),
|
|
|
|
width: ScreenUtil().setWidth(88),
|
|
|
|
// height: ScreenUtil().setWidth(82),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
)),
|
|
|
|
),
|
|
|
|
Padding(
|
|
|
|
padding: EdgeInsets.only(left: w(14), right: w(10)),
|
|
|
|
child: MyDivider(
|
|
|
|
double.infinity,
|
|
|
|
w(1),
|
|
|
|
color: MyColours.color_E7E7E7,
|
|
|
|
)),
|
|
|
|
VEmptyView(24),
|
|
|
|
InkWell(
|
|
|
|
onTap: () {
|
|
|
|
setState(() {
|
|
|
|
customerProvider.isSetOver =
|
|
|
|
!customerProvider.isSetOver;
|
|
|
|
});
|
|
|
|
},
|
|
|
|
child: Container(
|
|
|
|
padding: EdgeInsets.symmetric(
|
|
|
|
vertical: w(8), horizontal: w(14)),
|
|
|
|
child: Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
children: [
|
|
|
|
Text('允许变更过去餐段订单的时间',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_515151,
|
|
|
|
fontSize: ScreenUtil().setSp(28))),
|
|
|
|
Image.asset(
|
|
|
|
customerProvider.isSetOver
|
|
|
|
? Utils.getImgPath('swich_on')
|
|
|
|
: Utils.getImgPath('swich_off'),
|
|
|
|
width: ScreenUtil().setWidth(88),
|
|
|
|
// height: ScreenUtil().setWidth(82),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
)),
|
|
|
|
Padding(
|
|
|
|
padding: EdgeInsets.only(left: w(14), right: w(10)),
|
|
|
|
child: MyDivider(
|
|
|
|
double.infinity,
|
|
|
|
w(1),
|
|
|
|
color: MyColours.color_E7E7E7,
|
|
|
|
)),
|
|
|
|
VEmptyView(24),
|
|
|
|
InkWell(
|
|
|
|
onTap: () {
|
|
|
|
setState(() {
|
|
|
|
customerProvider.isReserveOver =
|
|
|
|
!customerProvider.isReserveOver;
|
|
|
|
});
|
|
|
|
},
|
|
|
|
child: Container(
|
|
|
|
padding: EdgeInsets.symmetric(
|
|
|
|
vertical: w(8), horizontal: w(14)),
|
|
|
|
child: Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
children: [
|
|
|
|
Text('允许变更订单到过去餐段',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_515151,
|
|
|
|
fontSize: ScreenUtil().setSp(28))),
|
|
|
|
Image.asset(
|
|
|
|
customerProvider.isReserveOver
|
|
|
|
? Utils.getImgPath('swich_on')
|
|
|
|
: Utils.getImgPath('swich_off'),
|
|
|
|
width: ScreenUtil().setWidth(88),
|
|
|
|
// height: ScreenUtil().setWidth(82),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
)),
|
|
|
|
Padding(
|
|
|
|
padding: EdgeInsets.only(left: w(14), right: w(10)),
|
|
|
|
child: MyDivider(
|
|
|
|
double.infinity,
|
|
|
|
w(1),
|
|
|
|
color: MyColours.color_E7E7E7,
|
|
|
|
)),
|
|
|
|
VEmptyView(48),
|
|
|
|
Text('店内自定义标签',
|
|
|
|
style: TextStyle(
|
|
...
|
...
|
@@ -360,7 +591,7 @@ class _CustomerSettingPageState extends State<CustomerSettingPage> { |
|
|
|
fontSize: 28,
|
|
|
|
textColor: MyColours.color_ffffff,
|
|
|
|
onPressed: () {
|
|
|
|
_sellerGuestSet();
|
|
|
|
_saveData();
|
|
|
|
},
|
|
|
|
),
|
|
|
|
)
|
...
|
...
|
|