Commit c06fcd52eb531d8ba4c0d79db3639fa953e2710a

Authored by wdn127929
1 parent f16782e9

店内常点

... ... @@ -548,7 +548,7 @@
CODE_SIGN_ENTITLEMENTS = Runner/RunnerProfile.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 5233;
CURRENT_PROJECT_VERSION = 5234;
DEVELOPMENT_TEAM = 8J59HM8B82;
ENABLE_BITCODE = NO;
FLUTTER_BUILD_MODE = release;
... ... @@ -696,7 +696,7 @@
CODE_SIGN_ENTITLEMENTS = "Runner/一键订Debug.entitlements";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 5233;
CURRENT_PROJECT_VERSION = 5234;
DEVELOPMENT_TEAM = 8J59HM8B82;
ENABLE_BITCODE = NO;
FLUTTER_BUILD_MODE = debug;
... ... @@ -732,7 +732,7 @@
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 5233;
CURRENT_PROJECT_VERSION = 5234;
DEVELOPMENT_TEAM = 8J59HM8B82;
ENABLE_BITCODE = NO;
FLUTTER_BUILD_MODE = release;
... ...
... ... @@ -332,9 +332,9 @@ class MenuSunModel {
amount = 0;
amountC.text = '0';
amountHasOrderList = [];
if (json['amountHasOrderList'] != null) {
amountHasOrderList = [];
// amountHasOrderList = [];
// if (json['practice'].length > 0 && json['practice'][0] is String) {
// } else {
json['amountHasOrderList'].forEach((v) {
... ... @@ -427,8 +427,9 @@ class MenuSunModel {
}
amount = 0;
amountC.text = '0';
amountHasOrderList = [];
if (json['amountHasOrderList'] != null) {
amountHasOrderList = [];
// amountHasOrderList = [];
// if (json['practice'].length > 0 && json['practice'][0] is String) {
// } else {
json['amountHasOrderList'].forEach((v) {
... ...
... ... @@ -115,6 +115,8 @@ class SellerOftenSunCooklist {
String className;
String classid;
String classOrder;
String practiceName;
String practice;
SellerOftenSunCooklist(
{this.amount,
... ... @@ -129,7 +131,9 @@ class SellerOftenSunCooklist {
this.image,
this.className,
this.classid,
this.classOrder});
this.classOrder,
this.practiceName,
this.practice});
SellerOftenSunCooklist.fromJson(Map<String, dynamic> json) {
amount = json['amount'] == null || json['amount'] == ''
... ... @@ -147,6 +151,8 @@ class SellerOftenSunCooklist {
className = json['class_name'];
classid = json['classid'];
classOrder = json['class_order'];
practiceName = json['practice_name'];
practice = json['practice'];
}
Map<String, dynamic> toJson() {
... ... @@ -164,6 +170,8 @@ class SellerOftenSunCooklist {
data['class_name'] = this.className;
data['classid'] = this.classid;
data['class_order'] = this.classOrder;
data['practice_name'] = this.practiceName;
data['practice'] = this.practice;
return data;
}
}
... ...
... ... @@ -4422,8 +4422,25 @@ class InvicationPageState extends State<InvicationPage>
erroInfo = '';
});
//跳转
if (Platform.isIOS) {
List<String> phoneNumber = [reserverPhone];
try {
String _result =
await sendSMS(message: smsContent, recipients: phoneNumber);
print(_result);
} catch (error) {
print(error.toString());
}
} else {
bool sucess = await Sendsms.onSendSMS(reserverPhone, smsContent);
}
bool sucess = await Sendsms.onSendSMS(reserverPhone, smsContent);
// }
// SmsModel smsModel = new SmsModel();
// // String sms = await smsModel.getSmsContent(context, params);
// String phoneNumber = "";
// await Sendsms.onSendSMS(phoneNumber, '短信内容');
// if (Platform.isIOS) {
// // List<String> phoneNumber = ['18161963378', '18729572142', '18765432345'];
... ...
... ... @@ -15,6 +15,8 @@ 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';
class MyCustomerDetailEditPage extends StatefulWidget {
final Guest guest;
final FromPage fromPage;
... ... @@ -392,6 +394,22 @@ class _MyCustomerDetailEditPageState extends State<MyCustomerDetailEditPage> {
);
}
List<Widget> labelsWidget(String label) {
List<Widget> data = [];
if (label != null && label.length > 0) {
List<String> labels = label.split(',');
labels.forEach((element) {
Text(
element,
style: TextStyle(fontSize: font(16), color: MyColours.color_999999),
);
});
}
return data;
}
@override
Widget build(BuildContext context) {
customerProvider = Provider.of<CustomerProvider>(context, listen: true);
... ... @@ -611,51 +629,59 @@ class _MyCustomerDetailEditPageState extends State<MyCustomerDetailEditPage> {
.then((value) {});
},
child: Container(
// height: ScreenUtil().setWidth(60),
padding: EdgeInsets.symmetric(
vertical: ScreenUtil().setWidth(50)),
decoration: BoxDecoration(
border: Border(
bottom: BorderSide(
width: ScreenUtil().setWidth(2),
color: Color.fromRGBO(
220, 220, 220, 1)))),
child: Row(
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Container(
// color: Colors.red,
width: ScreenUtil().setWidth(150),
height: ScreenUtil().setWidth(35),
child: Text(
'自定义标签',
style: TextStyle(
fontSize: ScreenUtil().setSp(28),
color: MyColours.color_333333),
),
),
Expanded(
child: Text(
labelShow,
overflow: TextOverflow.ellipsis,
style: TextStyle(
color: Color.fromRGBO(193, 194, 63, 1),
fontSize: ScreenUtil().setSp(28),
// height: ScreenUtil().setWidth(60),
padding: EdgeInsets.symmetric(
vertical: ScreenUtil().setWidth(50)),
decoration: BoxDecoration(
border: Border(
bottom: BorderSide(
width: ScreenUtil().setWidth(2),
color: Color.fromRGBO(
220, 220, 220, 1)))),
child: Column(
children: [
Row(
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
crossAxisAlignment:
CrossAxisAlignment.center,
children: [
Container(
// color: Colors.red,
width: ScreenUtil().setWidth(150),
height: ScreenUtil().setWidth(35),
child: Text(
'自定义标签',
style: TextStyle(
fontSize:
ScreenUtil().setSp(28),
color: MyColours.color_333333),
),
),
Expanded(
child: Text(
labelShow,
overflow: TextOverflow.ellipsis,
style: TextStyle(
color:
Color.fromRGBO(193, 194, 63, 1),
fontSize: ScreenUtil().setSp(28),
),
)),
HEmptyView(10),
Image.asset(
"assets/arrow_right_new.png",
width: ScreenUtil().setWidth(14),
height: ScreenUtil().setWidth(22),
)
],
),
)),
HEmptyView(10),
Image.asset(
Utils.getImgPath(showLabel
? 'c_arrow_up'
: 'c_arrow_down'),
width: ScreenUtil().setWidth(24),
// height: ScreenUtil().setWidth(10),
)
],
),
)),
VEmptyView(10),
Wrap(
children: [],
)
],
))),
VEmptyView(60),
_textMulLine(
... ...
import 'dart:async';
import 'dart:convert';
import 'package:cached_network_image/cached_network_image.dart';
... ... @@ -49,6 +50,8 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> {
String uid = '';
String isStoreWine = '0';
Timer timer;
@override
void initState() {
super.initState();
... ... @@ -109,6 +112,10 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> {
void dispose() {
// TODO: implement dispose
super.dispose();
if (timer != null && timer.isActive) {
timer.cancel();
}
EventBus().off('personnel_manage_detail_page');
}
... ... @@ -278,6 +285,10 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> {
///获取二维码
_getWechatQrcode({bool need = false}) async {
if (timer != null && timer.isActive ) {
timer.cancel();
}
String sid = Provider.of<UserModel>(context, listen: false).user.sellerid;
// String id = Provider.of<UserModel>(context, listen: false).user.openid;
// https: //xt.colorcun.com/WechatApi/WechatApi/CreateDcSubQrcode/sellerid/商家ID/uid/当前账号ID
... ... @@ -290,6 +301,9 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> {
LogUtil.v("access_token:${response.toString()}");
Map<String, dynamic> responseData = json.decode(response.toString());
print(responseData);
timer = Timer.periodic(Duration(seconds: 60), (_) {
_getWechatQrcode();
});
dcAdduserCode = responseData["data"];
if (need) {
if (dcAdduserCode == null || dcAdduserCode == '') {
... ... @@ -462,27 +476,45 @@ class _PersonnelDetailPageState extends State<PersonnelDetailPage> {
),
VEmptyView(114),
RoundButton(
text: data?.openid == null || data?.openid == 'null'
? '绑定微信'
: '更换微信',
gradientStart: wechatColor,
gradientEnd: wechatColor,
borderColor: wechatColor,
width: ScreenUtil().setWidth(80 * 2),
height: ScreenUtil().setWidth(30 * 2),
fontSize: 32,
isBold: true,
textColor: MyColours.color_ffffff,
radius: ScreenUtil().setWidth(12),
onPressed: () {
if (dcAdduserCode != '' && dcAdduserCode != null) {
DialogUtil.openAlertDialogImage(
context, '请员工使用微信扫一扫添加店员', dcAdduserCode, 660);
} else {
_getWechatQrcode(need: true);
}
}),
data?.openid == null || data?.openid == 'null'
? RoundButton(
text: '绑定微信',
gradientStart: wechatColor,
gradientEnd: wechatColor,
borderColor: wechatColor,
width: ScreenUtil().setWidth(80 * 2),
height: ScreenUtil().setWidth(30 * 2),
fontSize: 32,
isBold: true,
textColor: MyColours.color_ffffff,
radius: ScreenUtil().setWidth(12),
onPressed: () {
if (dcAdduserCode != '' && dcAdduserCode != null) {
DialogUtil.openAlertDialogImage(
context, '请员工使用微信扫一扫添加店员', dcAdduserCode, 660);
} else {
_getWechatQrcode(need: true);
}
})
: RoundButton(
text: '更换微信',
gradientStart: wechatColor,
gradientEnd: wechatColor,
borderColor: wechatColor,
width: ScreenUtil().setWidth(80 * 2),
height: ScreenUtil().setWidth(30 * 2),
fontSize: 32,
isBold: true,
textColor: MyColours.color_ffffff,
radius: ScreenUtil().setWidth(12),
onPressed: () {
if (dcAdduserCode != '' && dcAdduserCode != null) {
DialogUtil.openAlertDialogImage(
context, '请员工使用微信扫一扫添加店员', dcAdduserCode, 660);
} else {
_getWechatQrcode(need: true);
}
}),
VEmptyView(48),
InkWell(
onTap: () {
... ...
... ... @@ -590,23 +590,25 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
if (newdata.cookList.length == 0) {
newdata.cookList = store.cookList;
} else {
store.cookList.forEach((storeCook) {
store.cookList?.forEach((storeCook) {
String id = storeCook.id;
newdata.cookList.forEach((cooklist) {
newdata.cookList?.forEach((cooklist) {
if (cooklist.id == storeCook.id) {
id = '';
//同一分类
if (cooklist.cookbooklist.length == 0) {
cooklist.cookbooklist = storeCook.cookbooklist;
} else {
cooklist.cookbooklist.forEach((value1) {
storeCook.cookbooklist.forEach((value2) {
cooklist.cookbooklist?.forEach((value1) {
storeCook.cookbooklist?.forEach((value2) {
//同一菜品
if (value1.id == value2.id) {
// value1.amount = value2.amount;
value1.amountHasOrderList.forEach((value1son) {
print(value1);
print(value2);
value1.amountHasOrderList?.forEach((value1son) {
value2.amountHasOrderList
.forEach((value2son) {
?.forEach((value2son) {
if (value1son.practiceModel != null &&
value2son.practiceModel != null &&
value1son.specModel != null &&
... ... @@ -672,7 +674,9 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
cooklist.cookbooklist.forEach((value1) {
storeCook.cookbooklist.forEach((value2) {
//同一菜品
if (value1.id == value2.id) {
if (value1.id == value2.id &&
value1.amountHasOrderList != null &&
value2.amountHasOrderList != null) {
// value1.amount = value2.amount;
value1.amountHasOrderList.forEach((value1son) {
value2.amountHasOrderList
... ... @@ -1161,7 +1165,9 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
//同一分类
cooklist.cookbooklist.forEach((value1) {
storeCook.cookbooklist.forEach((value2) {
if (value1.id == value2.id) {
if (value1.id == value2.id &&
value1.amountHasOrderList != null &&
value2.amountHasOrderList != null) {
if (value1.amountHasOrderList.length !=
value2.amountHasOrderList.length) {
isChange = true;
... ... @@ -1248,10 +1254,13 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
//同一分类
cooklist.cookbooklist.forEach((value1) {
storeCook.cookbooklist.forEach((value2) {
if (value1.id == value2.id) {
if (value1.id == value2.id &&
value1.amountHasOrderList != null &&
value2.amountHasOrderList != null) {
// if (value1.amount != value2.amount) {
// isChange = true;
// }
if (value1.amountHasOrderList.length !=
value2.amountHasOrderList.length) {
isChange = true;
... ... @@ -1298,6 +1307,10 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
newdata.amountHasOrderList[0].amount;
memberPriceSum += double.parse(store.member_price) *
newdata.amountHasOrderList[0].amount;
// priceSum += double.parse(store.specCan[0].price) *
// newdata.amountHasOrderList[0].amount;
// memberPriceSum += double.parse(store.specCan[0].memberPrice) *
// newdata.amountHasOrderList[0].amount;
} else {
//单品 未测试---------可能错误++++++ 套餐内菜品未改变,使用套餐原本菜品和数量计算价格
newdata.cookList.forEach((cooklist) {
... ... @@ -1425,7 +1438,7 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
menuSunModel.amountHasOrderList.removeAt(i);
}
_calculatePrice();
if (menuSunModel.amount == 0) {
if (menuSunModel.amountHasOrderList.length == 0) {
_initMenuModelForManagerData();
}
... ...
... ... @@ -55,10 +55,10 @@ class _OrderAdvanceHomePageState extends State<OrderAdvanceHomePage> {
super.initState();
pnumController.text = widget.detailEntity.actual_pum;
WidgetsBinding.instance.addPostFrameCallback((_) async {
_getPlanCookByRid();
await _getPlanCookByRid();
_getPageMenuData();
bus.on("refresh_order_advance_home", (args) {
_getPlanCookByRid();
bus.on("refresh_order_advance_home", (args) async {
await _getPlanCookByRid();
_getPageMenuData();
});
});
... ... @@ -145,12 +145,14 @@ class _OrderAdvanceHomePageState extends State<OrderAdvanceHomePage> {
}
_getPageMenuData() async {
Future.wait<bool>(
[_getCookbookByClass(showLoading: true), _getPlanCookList()])
.then((results) {
Future.wait<bool>([
_getCookbookByClass(showLoading: true),
_getPlanCookList(),
_getSellerOften()
]).then((results) {
print(results[0]);
if (results[0] && results[1]) {
if (results[0] && results[1] && results[2]) {
_planDishProvider.menuModelForManager =
List.from(_planDishProvider.menuModel);
//单个菜品
... ... @@ -231,6 +233,116 @@ class _OrderAdvanceHomePageState extends State<OrderAdvanceHomePage> {
_planDishProvider.menuModelForManager
.insert(0, menuModelSetMeal); //添加套餐
//店内常点数据
MenuModel menuModelStoreOften = MenuModel();
menuModelStoreOften.className = '店内常点';
menuModelStoreOften.isChange = false;
// List<MenuSunModel> cookListStoreOften = [];
List<MenuSunModel> sellerOftendata =
_planDishProvider.sellerOftendataTemp;
// if(sellerOftendata == null || sellerOftendata.length == 0){
// //接口请求没有值
// if(widget.planCookByRidSunModel.oftenList.length >0){
// }
// }
sellerOftendata.forEach((element) {
// if (element.status == '1') {
// MenuSunModel menuSunModel = MenuSunModel();
// menuSunModel.id = element.id;
// menuSunModel.name = element.name;
// // menuSunModel.price = element.menuPrice;
// menuSunModel.price = element.price;
// menuSunModel.member_price = element.member_price ?? "";
// menuSunModel.unit = '份';
// menuSunModel.amount = element.amount;
// menuSunModel.cookList = element.cookList;
if (_planDishProvider.planCookByRidSunModel != null &&
_planDishProvider.planCookByRidSunModel.oftenList != null &&
_planDishProvider.planCookByRidSunModel.oftenList.length > 0) {
// //店内常点数据对应
_planDishProvider.planCookByRidSunModel.oftenList
.forEach((package) {
if (package.id == element.id) {
//同一个套餐
element.amountHasOrderList = package.amountHasOrderList;
element.cookList.forEach((oldcooklist) {
package.cookList.forEach((newcooklist) {
if (oldcooklist.id == newcooklist.id) {
//同一菜品分类
oldcooklist.cookbooklist.forEach((oldcook) {
newcooklist.cookbooklist.forEach((newcook) {
if (oldcook.id == newcook.id) {
oldcook.amountHasOrderList =
newcook.amountHasOrderList;
// newcook.amountHasOrderList.forEach((element1) {
// carSum += element1.amount *
// package.amountHasOrderList[0].amount;
// });
// oldcook.amount = newcook.amount;
// carSum += newcook.amount;
// if (oldcook
// .amountHasOrderList[0].practiceModel !=
// null &&
// newcook.amountHasOrderList[0].practiceModel !=
// null &&
// oldcook.amountHasOrderList[0].specModel !=
// null &&
// newcook.amountHasOrderList[0].specModel !=
// null) {
// if (oldcook.amountHasOrderList[0].practiceModel
// .practice ==
// newcook.amountHasOrderList[0]
// .practiceModel.practice &&
// oldcook.amountHasOrderList[0].specModel
// .specid ==
// newcook.amountHasOrderList[0].specModel
// .specid) {
// oldcook.amountHasOrderList[0].amount =
// newcook.amountHasOrderList[0].amount;
// newcook.amountHasOrderList.forEach((element) {
// carSum += element.amount;
// });
// }
// } else if (oldcook
// .amountHasOrderList[0].practiceModel ==
// null &&
// oldcook.amountHasOrderList[0].specModel !=
// null) {
// if (oldcook
// .amountHasOrderList[0].specModel.specid ==
// newcook
// .amountHasOrderList[0].specModel.specid) {
// oldcook.amountHasOrderList[0].amount =
// newcook.amountHasOrderList[0].amount;
// newcook.amountHasOrderList.forEach((element) {
// carSum += element.amount;
// });
// }
// }
}
});
});
}
});
});
}
});
}
// cookListStoreOften.add(menuSunModel);
// }
});
menuModelStoreOften.cookbooklist = sellerOftendata;
_planDishProvider.menuModelForManager
.insert(1, menuModelStoreOften); //店内常点数据
MenuModel menuModelPlanDish = MenuModel();
menuModelPlanDish.className = '我的排菜';
menuModelPlanDish.isChange = false;
... ... @@ -282,7 +394,7 @@ class _OrderAdvanceHomePageState extends State<OrderAdvanceHomePage> {
menuModelPlanDish.cookbooklist = cookListPlanDish;
_planDishProvider.menuModelForManager
.insert(1, menuModelPlanDish); //添加排菜
.insert(2, menuModelPlanDish); //添加排菜
MenuModel menuModelShort = MenuModel();
menuModelShort.className = '临时加菜';
... ... @@ -381,6 +493,29 @@ class _OrderAdvanceHomePageState extends State<OrderAdvanceHomePage> {
// }
}
///获取商家店内常点
Future<bool> _getSellerOften({bool isShowLoading = true}) async {
//没有人数,数据为空
_planDishProvider.sellerOftendata = [];
if (_planDishProvider.planCookByRidSunModel.pnum != '' &&
_planDishProvider.planCookByRidSunModel.pnum == null) {
Map<String, String> params = {
"pnum": _planDishProvider.planCookByRidSunModel.pnum,
"sid": Provider.of<UserModel>(context, listen: false).user.sellerid,
};
bool success = await _planDishProvider.getSellerOften(context, params,
showLoading: isShowLoading);
if (success) {
return true;
} else {
return false;
}
}
return true;
}
///排菜/套餐列表
Future<bool> _getPlanCookList({bool isShowLoading = true}) async {
... ... @@ -1219,6 +1354,69 @@ class _OrderAdvanceHomePageState extends State<OrderAdvanceHomePage> {
}
});
} else if (element.className == '店内常点') {
element.cookbooklist.forEach((value) {
if (value.amountHasOrderList != null &&
value.amountHasOrderList.length > 0) {
// if (!isChange) {
// priceSum += double.parse(value.price) * value.amount;
// memberPriceSum +=
// double.parse(value.member_price) * value.amount;
// }
//选中了该套餐
//把套餐中没有选中的菜品踢出去
MenuSunModel menuSunModel = MenuSunModel();
List<MenuModel> moreMenu = [];
int moreSum = 0;
//遍历套餐中的菜分类
value.cookList.forEach((cook) {
//遍历套餐中的具体菜品
List<MenuSunModel> cooklistSun = [];
int cookSum = 0;
cook.cookbooklist.forEach((cookSun) {
// 具体菜品
if (cookSun.amountHasOrderList !=
null &&
cookSun.amountHasOrderList.length >
0) {
//当前菜品已选择
// moreSum += cookSun.amount;
cookSun.amountHasOrderList
.forEach((element) {
MenuSunModel cooksunTemp =
MenuSunModel.fromJson2(
cookSun.toJson());
cookSum += element.amount;
// carSum += element.amount;
cooksunTemp.amountHasOrderList = [];
cooksunTemp.amountHasOrderList
.add(element);
cooklistSun.add(cooksunTemp);
});
// if (isChange) {
// priceSum += double.parse(cookSun.price) * cookSun.amount;
// memberPriceSum +=
// double.parse(cookSun.member_price) * cookSun.amount;
// }
// carSum += cookSun.amount;
// cooklistSun.add(cookSun);
}
});
if (cooklistSun.length > 0) {
cook.cookbooklist = cooklistSun;
cook.allSum = cookSum;
moreMenu.add(cook);
value.cookList = moreMenu;
}
});
value.moreSum =
value.amountHasOrderList[0].amount;
value.channel = '3'; //
dataLocalShowMore.add(value);
}
});
// //如果是我的排菜,则看cooklist有没有选中的
// bool hasmMine =
... ...
... ... @@ -697,6 +697,10 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
element.amountHasOrderList[0].amount;
memberPriceSum += double.parse(store.member_price) *
element.amountHasOrderList[0].amount;
// priceSum += double.parse(store.specCan[0].price) *
// element.amountHasOrderList[0].amount;
// memberPriceSum += double.parse(store.specCan[0].memberPrice) *
// element.amountHasOrderList[0].amount;
} else {
//单品
// element.cookList.forEach((cooklist) {
... ...
... ... @@ -9,6 +9,7 @@ import 'package:easy_contact_picker/easy_contact_picker.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_sms/flutter_sms.dart';
import 'package:one_key/constant/state.dart';
import 'package:one_key/models/area.dart';
import 'package:one_key/models/coupon_model.dart';
... ... @@ -278,7 +279,25 @@ class TableManagerPageState extends State<TableManagerPage> {
};
smsContent = await Provider.of<SmsModel>(context, listen: false)
.getSmsContent(context, params);
bool sucess = await Sendsms.onSendSMS(phone, smsContent);
// bool sucess = await Sendsms.onSendSMS(phone, smsContent);
if (Platform.isIOS) {
try {
String _result =
await sendSMS(message: smsContent, recipients: [phone]);
print(_result);
} catch (error) {
print(error.toString());
}
} else {
print('确定发送');
// String phoneNumber = "18161963378;18729572142";
// await Sendsms.onGetPermission();
// if (await Sendsms.hasPermission()) {
bool suceess = await Sendsms.onSendSMS(phone, smsContent);
print(suceess);
}
}
///获取短信余量
... ...
... ... @@ -50,11 +50,12 @@ class PlanDishProvider extends ChangeNotifier {
///分类下所有菜品列表(1.传orderid顾客端获取带订单信息的 否则不传
getCookbookByClass(BuildContext context, Map<String, String> params,
{showLoading = false,selfDismiss= false}) async {
{showLoading = false, selfDismiss = false}) async {
BaseResp<dynamic> baseResp = await DioUtil()
.request<dynamic>(context, Method.get, HttpUrl.get_cookbook_by_class,
data: params,
showLoading: pageState == PageState.Loading ? false : showLoading,selfDismiss: selfDismiss)
showLoading: pageState == PageState.Loading ? false : showLoading,
selfDismiss: selfDismiss)
.catchError((error) {
print(error.toString());
if (error is MyError) {
... ... @@ -299,7 +300,7 @@ class PlanDishProvider extends ChangeNotifier {
///排菜/套餐列表
Future<bool> getPlanCookList(BuildContext context, Map<String, String> params,
{showLoading = false,selfDismiss = false}) async {
{showLoading = false, selfDismiss = false}) async {
BaseResp<dynamic> baseResp = await DioUtil()
.request<dynamic>(context, Method.get, HttpUrl.get_plan_cook_list,
data: params,
... ... @@ -307,7 +308,8 @@ class PlanDishProvider extends ChangeNotifier {
pageStateHome == PageState.Loading ||
pageStateMine == PageState.Loading
? false
: showLoading,selfDismiss:selfDismiss)
: showLoading,
selfDismiss: selfDismiss)
.catchError((error) {
print(error.toString());
if (error is MyError) {}
... ... @@ -371,12 +373,13 @@ class PlanDishProvider extends ChangeNotifier {
sellerOftenSunModel.forEach((element) {
if (element.cooklist != null) {
// SellerOftenSunModel
double member_price = 0;
MenuSunModel menuSunModel = MenuSunModel();
menuSunModel.id = element.id;
menuSunModel.name = '${element.pnum}人';
// menuSunModel.price = element.menuPrice;
menuSunModel.price = element.price;
menuSunModel.member_price = element.memberPrice ?? element.price;
// menuSunModel.member_price = element.memberPrice ?? element.price;
menuSunModel.unit = '份';
//
... ... @@ -397,11 +400,43 @@ class PlanDishProvider extends ChangeNotifier {
cookData.sellerid = cook.sid;
cookData.cid = cook.classid;
cookData.price = cook.price;
cookData.member_price = cook.memberPrice ?? cook.price;
// cookData.member_price = cook.memberPrice ?? cook.price;
cookData.member_price =
cook.memberPrice == null || cook.memberPrice == '0'
? cook.price
: cook.memberPrice;
member_price += double.parse(cookData.member_price);
cookData.name = cook.name;
cookData.unit = cook.unit;
cookData.image = cook.image;
cookData.amount = cook.amount;
// cookData.amount = cook.amount;
cookData.amountHasOrderList = [];
//价格只有一个,做法只有一个或者没有,兼容旧数据
cookData.amountHasOrderList = [];
//价格只有一个,做法只有一个或者没有,兼容旧数据
AmountHasOrder amountHasOrder = AmountHasOrder();
amountHasOrder.amount = cook.amount;
SpecModel specModel = SpecModel();
specModel.price = cook.price ?? '';
specModel.memberPrice =
cook.memberPrice == null || cook.memberPrice == '0'
? cook.price
: cook.memberPrice;
specModel.specs = cook.unit ?? "";
amountHasOrder.specModel = specModel;
PracticeModel practiceModel = PracticeModel();
practiceModel.cid = cook.cookbookid;
practiceModel.id = cook.practiceid;
practiceModel.practice = cook.practice;
practiceModel.name = cook.practiceName;
// practiceModel.practice =vvvvvv
amountHasOrder.practiceModel = practiceModel;
cookData.amountHasOrderList.add(amountHasOrder);
// "specid": null,
// "practiceid": null,
... ... @@ -413,6 +448,15 @@ class PlanDishProvider extends ChangeNotifier {
cookF.add(menuModel);
});
SpecModel specModel = SpecModel();
specModel.status = '1';
specModel.memberPrice = member_price.toStringAsFixed(2);
specModel.price = element.price;
specModel.specs = '份';
menuSunModel.specCan = [];
menuSunModel.member_price = member_price.toStringAsFixed(2);
menuSunModel.specCan.add(specModel);
menuSunModel.cookList = cookF;
data.add(menuSunModel);
... ... @@ -426,13 +470,14 @@ class PlanDishProvider extends ChangeNotifier {
sellerOftenSunModel.forEach((element) {
if (element.cooklist != null) {
// SellerOftenSunModel
double member_price = 0;
MenuSunModel menuSunModel = MenuSunModel();
menuSunModel.id = element.id;
menuSunModel.name = '${element.pnum}人';
// menuSunModel.price = element.menuPrice;
menuSunModel.price = element.price;
menuSunModel.member_price = element.memberPrice ?? element.price;
menuSunModel.unit = '份';
// menuSunModel.price = element.price;
// menuSunModel.member_price = element.memberPrice ?? element.price;
// menuSunModel.unit = '份';
//
List<MenuModel> cookF = [];
... ... @@ -446,17 +491,45 @@ class PlanDishProvider extends ChangeNotifier {
menuModel.status = '1';
menuModel.classType = null;
menuModel.cookbooklist = [];
value.cooklist.forEach((cook) {
MenuSunModel cookData = MenuSunModel();
cookData.id = cook.cookbookid;
cookData.sellerid = cook.sid;
cookData.cid = cook.classid;
cookData.price = cook.price;
cookData.member_price = cook.memberPrice ?? cook.price;
cookData.member_price =
cook.memberPrice == null || cook.memberPrice == '0'
? cook.price
: cook.memberPrice;
member_price += double.parse(cookData.member_price);
cookData.name = cook.name;
cookData.unit = cook.unit;
cookData.image = cook.image;
cookData.amount = cook.amount;
// cookData.amount = cook.amount;
cookData.amountHasOrderList = [];
//价格只有一个,做法只有一个或者没有,兼容旧数据
AmountHasOrder amountHasOrder = AmountHasOrder();
amountHasOrder.amount = cook.amount;
SpecModel specModel = SpecModel();
specModel.price = cook.price ?? '';
specModel.memberPrice =
cook.memberPrice == null || cook.memberPrice == '0'
? cook.price
: cook.memberPrice;
specModel.specs = cook.unit ?? "";
amountHasOrder.specModel = specModel;
PracticeModel practiceModel = PracticeModel();
practiceModel.cid = cook.cookbookid;
practiceModel.id = cook.practiceid;
practiceModel.practice = cook.practice;
practiceModel.name = cook.practiceName;
// practiceModel.practice =vvvvvv
amountHasOrder.practiceModel = practiceModel;
cookData.amountHasOrderList.add(amountHasOrder);
// "specid": null,
// "practiceid": null,
... ... @@ -468,6 +541,15 @@ class PlanDishProvider extends ChangeNotifier {
cookF.add(menuModel);
});
SpecModel specModel = SpecModel();
specModel.status = '1';
specModel.memberPrice = member_price.toStringAsFixed(2);
menuSunModel.member_price = member_price.toStringAsFixed(2);
specModel.price = element.price;
specModel.specs = '份';
menuSunModel.specCan = [];
menuSunModel.specCan.add(specModel);
menuSunModel.cookList = cookF;
datatemp.add(menuSunModel);
... ...
... ... @@ -2357,6 +2357,7 @@ var orderEditListShowPageHandle = new Handler(
oftenList.add(MenuSunModel.fromJson2(item));
}
}
String planPrice = params["planPrice"].first;
... ...