|
...
|
...
|
@@ -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 =
|
...
|
...
|
|