Commit 544d47cb566799ec04c16b15bd43ee34a75a737b

Authored by wdn127929
1 parent 62bf481a

菜单点菜and排菜页购物车数据处理

... ... @@ -12,6 +12,7 @@ class MenuModel {
String classType;
List<MenuSunModel> cookbooklist;
int allSum; //总共选中菜数量
bool isChange = false; //是否发生数量变化
MenuModel(
{this.id,
... ...
... ... @@ -89,7 +89,7 @@ class _PlanDishSunPageState extends State<PlanDishSunPage> {
@override
Widget build(BuildContext context) {
planDishProvider = Provider.of<PlanDishProvider>(context, listen: true);
planDishProvider = Provider.of<PlanDishProvider>(context, listen: true);
return Container(
child: Consumer<CouponProvider>(builder: (context, model, _) {
if (widget.pageState != PageState.Success) {
... ... @@ -124,6 +124,9 @@ class _PlanDishSunPageState extends State<PlanDishSunPage> {
bool needRefresh =
await NavigatorUtil.goPlanDishEditPage(context,
isEdit: true,
isMine: widget.data[index].type == '2'
? true
: false,
sunList: widget.data[index],
onlyShow: !canedit);
},
... ...
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:one_key/models/cookbook_model.dart';
import 'package:one_key/models/plan_cook_list_model.dart';
... ... @@ -65,18 +67,22 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
.then((results) {
print(results[0]);
if (results[0] && results[1]) {
_planDishProvider.menuModelForManager
.addAll(_planDishProvider.menuModel);
_planDishProvider.menuModelForManager =
List.from(_planDishProvider.menuModel);
//成功
MenuModel menuModelSetMeal = MenuModel();
menuModelSetMeal.className = '套餐';
menuModelSetMeal.isChange = false;
List<MenuSunModel> cookList = [];
List<SunListPlan> storeList = _planDishProvider.storeList;
List<SunListPlan> storeList = _planDishProvider.storeListTemp;
storeList.forEach((element) {
MenuSunModel menuSunModel = MenuSunModel();
menuSunModel.id = element.id;
menuSunModel.name = element.pname;
menuSunModel.price = element.menuPrice;
// menuSunModel.price = element.menuPrice;
menuSunModel.price = element.planPrice;
menuSunModel.member_price = element.memberPrice;
menuSunModel.unit = '份';
// menuSunModel.amount = element.amount;
... ... @@ -91,8 +97,9 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
MenuModel menuModelPlanDish = MenuModel();
menuModelPlanDish.className = '我的排菜';
menuModelPlanDish.isChange = false;
List<MenuSunModel> cookListPlanDish = [];
List<SunListPlan> mineList = _planDishProvider.mineList;
List<SunListPlan> mineList = _planDishProvider.mineListTemp;
mineList.forEach((element) {
MenuSunModel menuSunModel = MenuSunModel();
menuSunModel.id = element.id;
... ... @@ -109,6 +116,7 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
_planDishProvider.menuModelForManager
.insert(1, menuModelPlanDish); //添加排菜
setState(() {});
} else {
if (!results[0]) {
... ... @@ -122,6 +130,70 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
});
}
_initMenuModelForManagerData() {
_planDishProvider.menuModelForManager.forEach((element) {
if (element.className == '套餐' || element.className == '我的排菜') {
List<SunListPlan> olddata = element.className == '套餐'
? _planDishProvider.storeList
: _planDishProvider.mineList;
element.cookbooklist.forEach((newdata) {
olddata.forEach((store) {
if (store.id == newdata.id) {
if (newdata.amount == 0) {
//同一个套餐
if (newdata.cookList.length == 0) {
newdata.cookList = store.cookList;
} else {
store.cookList.forEach((storeCook) {
String id = storeCook.id;
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) {
//同一菜品
if (value1.id == value2.id) {
value1.amount = value2.amount;
}
});
});
}
}
});
if (id != '') {
//该菜品分类已经不存在
// 还原数据
newdata.cookList.add(storeCook);
}
});
}
}
}
});
});
} else if (element.className == '临时加菜') {
} else {
//单菜
// bool hasmMenu = element.cookbooklist.any(((value) => value.amount > 0));
// if (hasmMenu) {
// //单品此类有选中菜品
// element.cookbooklist.forEach((value) {
// if (value.amount > 0) {
// // priceSum += double.parse(value.price) * value.amount;
// // memberPriceSum += double.parse(value.member_price) * value.amount;
// }
// });
// }
}
// planDishC.text = priceSum.toString();
});
}
///菜品数据
Future<bool> _getCookbookByClass({bool showLoading = true}) async {
... ... @@ -268,6 +340,103 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
// }
}
//把数量置空
_clearAmount() {
_planDishProvider.menuModelForManager.forEach((element) {
if (element.className == '套餐' || element.className == '我的排菜') {
element.cookbooklist.forEach((newdata) {
newdata.amount = 0;
newdata.cookList.forEach((cooklist) {
//同一分类
cooklist.cookbooklist.forEach((value1) {
value1.amount = 0;
});
});
});
} else if (element.className == '临时加菜') {
} else {
//单菜
element.cookbooklist.forEach((value) {
value.amount = 0;
});
}
});
}
//计算价格
_calculatePrice() {
priceSum = 0;
memberPriceSum = 0;
_planDishProvider.menuModelForManager.forEach((element) {
if (element.className == '套餐' || element.className == '我的排菜') {
List<SunListPlan> olddata = element.className == '套餐'
? _planDishProvider.storeList
: _planDishProvider.mineList;
element.cookbooklist.forEach((newdata) {
olddata.forEach((store) {
if (store.id == newdata.id) {
if (newdata.amount > 0) {
bool isChange = false; //套餐数量是否发生变化
//同一个套餐
newdata.cookList.forEach((cooklist) {
store.cookList.forEach((storeCook) {
if (cooklist.id == storeCook.id) {
//同一分类
cooklist.cookbooklist.forEach((value1) {
storeCook.cookbooklist.forEach((value2) {
if (value1.id == value2.id) {
if (value1.amount != value2.amount) {
isChange = true;
}
}
});
});
}
});
});
//当前套餐/排菜数量已经发生变化
if (!isChange) {
priceSum += double.parse(store.planPrice) * newdata.amount;
memberPriceSum +=
double.parse(store.memberPrice) * newdata.amount;
} else {
//单品
newdata.cookList.forEach((cooklist) {
//同一分类
cooklist.cookbooklist.forEach((value1) {
priceSum += double.parse(value1.price) *
value1.amount *
newdata.amount;
memberPriceSum += double.parse(value1.member_price) *
value1.amount *
newdata.amount;
});
});
}
}
}
});
});
} else if (element.className == '临时加菜') {
} else {
//单菜
bool hasmMenu = element.cookbooklist.any(((value) => value.amount > 0));
if (hasmMenu) {
//单品此类有选中菜品
element.cookbooklist.forEach((value) {
if (value.amount > 0) {
priceSum += double.parse(value.price) * value.amount;
memberPriceSum += double.parse(value.member_price) * value.amount;
}
});
}
}
planDishC.text = priceSum.toString();
});
}
@override
Widget build(BuildContext context) {
_planDishProvider = Provider.of<PlanDishProvider>(context, listen: true);
... ... @@ -506,16 +675,38 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
0) {
setState(() {
menuSunModel.amount--;
carSum--;
priceSum -=
double.parse(
menuSunModel
.price);
memberPriceSum -= double
.parse(menuSunModel
.member_price);
planDishC.text =
'${priceSum}';
_calculatePrice();
if (_planDishProvider
.menuModelForManager[
_selectIndex]
.className ==
'套餐' ||
_planDishProvider
.menuModelForManager[
_selectIndex] ==
'我的排菜') {
// _calculatePrice();
//套餐菜品总个数
//遍历套餐下的菜品分类
menuSunModel.cookList
.forEach(
(element) {
//遍历菜品
element.cookbooklist
.forEach(
(cook) {
carSum -=
cook.amount;
});
});
} else {
carSum--;
}
if (menuSunModel
.amount ==
0) {
_initMenuModelForManagerData();
}
});
}
},
... ... @@ -614,12 +805,35 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
onTap: () {
setState(() {
menuSunModel.amount++;
carSum++;
priceSum += double.parse(
menuSunModel.price);
memberPriceSum += double.parse(
menuSunModel.member_price);
planDishC.text = '${priceSum}';
// priceSum += double.parse(
// menuSunModel.price);
// memberPriceSum += double.parse(
// menuSunModel.member_price);
// planDishC.text = '${priceSum}';
_calculatePrice();
if (_planDishProvider
.menuModelForManager[
_selectIndex]
.className ==
'套餐' ||
_planDishProvider
.menuModelForManager[
_selectIndex] ==
'我的排菜') {
//套餐菜品总个数
//遍历套餐下的菜品分类
menuSunModel.cookList
.forEach((element) {
//遍历菜品
element.cookbooklist
.forEach((cook) {
carSum += cook.amount;
});
});
} else {
carSum++;
}
});
},
child: Container(
... ... @@ -811,17 +1025,113 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
isBold: false,
borderColor: MyColours.color_438E93,
textColor: MyColours.color_438E93,
onPressed: () {
onPressed: () async {
// _planDishProvider.menuModel.forEach((element) {
// _planDishProvider.menuModelForManager
// .forEach((value) {});
// });
NavigatorUtil.goOrderEditListShowPage(context,
object: {
'object':
_planDishProvider.menuModelForManager
});
// Map temp;
// if (menuModel == null) {
Map temp = await NavigatorUtil
.goOrderEditListShowPage(context, object: {
'object': _planDishProvider.menuModelForManager,
}, object1: {
'object1': _planDishProvider.storeList
}, object2: {
'object2': _planDishProvider.mineList
});
// } else {
// temp =
// await NavigatorUtil.goPlanNewDishPage(
// context,
// object: {'object': menuModel},
// planDishPrice: dishPriceC.text);
// }
if (temp != null) {
print(_planDishProvider.storeList);
List<MenuSunModel> dataLocalShowMore =
temp['more']; //二级菜单
List<MenuModel> dataLocalShowOne =
temp['one']; //一级菜单
// 刷新页面***************
print(dataLocalShowMore);
print(dataLocalShowOne);
print(_planDishProvider.menuModelForManager);
int carSumTemp = 0;
_clearAmount();
_planDishProvider.menuModelForManager
.forEach((element) {
if (element.className == '套餐' ||
element.className == '我的排菜') {
dataLocalShowMore.forEach((value) {
element.cookbooklist.forEach((elementCook) {
if (value.id == elementCook.id) {
//同一个套餐
// elementCook.cookList = value.cookList;
elementCook.amount = value.moreSum;
elementCook.cookList
.forEach((oldValue) {
oldValue.cookbooklist
.forEach((oldCook) {
oldCook.amount = 0;
});
value.cookList.forEach((newValue) {
if (newValue.id == oldValue.id) {
//同一个分类
oldValue.cookbooklist
.forEach((oldCook) {
// oldCook.amount =
// newValue.allSum;
newValue.cookbooklist
.forEach((newCook) {
if (oldCook.id ==
newCook.id) {
//同一个菜品
oldCook.amount =
newCook.amount;
carSumTemp +=
newCook.amount;
}
});
});
}
});
});
}
});
});
} else {
//单品
print(dataLocalShowOne);
dataLocalShowOne.forEach((one) {
if (element.id == one.id) {
//同一分类
element.cookbooklist.forEach((old) {
one.cookbooklist.forEach((newvalue) {
if (old.id == newvalue.id) {
old.amount = newvalue.amount;
}
});
});
}
});
}
});
carSum = carSumTemp;
print((_planDishProvider.storeList));
_calculatePrice();
_initMenuModelForManagerData();
setState(() {});
}
},
),
RoundButton(
... ...
... ... @@ -11,13 +11,17 @@ import '../../../widgets/h_empty_view.dart';
import '../../../widgets/round_button.dart';
import '../../../widgets/v_empty_view.dart';
import '../../models/cookbook_model.dart';
import '../../models/plan_cook_list_model.dart';
import '../../provider/plan_dish_provider.dart';
import '../../route/navigator_util.dart';
import '../../utils/dialog_util.dart';
class OrderEditListShowPage extends StatefulWidget {
final List<SunListPlan> storeList; //套餐元数据
final List<SunListPlan> mineList; //我的排菜元数据
final List<MenuModel> data;
OrderEditListShowPage({Key key, this.data}) : super(key: key);
OrderEditListShowPage({Key key, this.data, this.storeList, this.mineList})
: super(key: key);
@override
_OrderEditListShowPageState createState() => _OrderEditListShowPageState();
... ... @@ -58,15 +62,25 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
@override
void initState() {
super.initState();
if (widget.data != null) {
widget.data.forEach((element) {
if (element.className == '套餐' || element.className == '我的排菜') {
//如果是套餐,则看cooklist有没有选中的
// //如果是套餐,则看cooklist有没有选中的
// bool isChange = false; //套餐或者排菜数量是否选中
// if (element.className == '套餐') {
// isChange = _isChange(widget.storeList);
// } else {
// // isChange = _isChange(widget.storeList);
// }
element.cookbooklist.forEach((value) {
if (value.amount > 0) {
// if (!isChange) {
// priceSum += double.parse(value.price) * value.amount;
// memberPriceSum +=
// double.parse(value.member_price) * value.amount;
// }
//选中了该套餐
//把套餐中没有选中的菜品踢出去
MenuSunModel menuSunModel = MenuSunModel();
... ... @@ -82,11 +96,15 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
if (cookSun.amount > 0) {
//当前菜品已选择
moreSum += cookSun.amount;
// moreSum += cookSun.amount;
cookSum += cookSun.amount;
priceSum += double.parse(cookSun.price) * cookSun.amount;
memberPriceSum +=
double.parse(cookSun.member_price) * cookSun.amount;
// if (isChange) {
// priceSum += double.parse(cookSun.price) * cookSun.amount;
// memberPriceSum +=
// double.parse(cookSun.member_price) * cookSun.amount;
// }
carSum += cookSun.amount;
cooklistSun.add(cookSun);
}
... ... @@ -98,7 +116,9 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
value.cookList = moreMenu;
}
});
value.moreSum = moreSum;
value.moreSum = value.amount;
value.channel =
element.className == '套餐' ? '1' : '2'; // 1套餐----2排菜
dataLocalShowMore.add(value);
}
});
... ... @@ -132,9 +152,9 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
element.cookbooklist.forEach((value) {
if (value.amount > 0) {
allSum += value.amount;
priceSum += double.parse(value.price) * value.amount;
memberPriceSum +=
double.parse(value.member_price) * value.amount;
// priceSum += double.parse(value.price) * value.amount;
// memberPriceSum +=
// double.parse(value.member_price) * value.amount;
carSum += value.amount;
cookbooklist.add(value);
}
... ... @@ -144,15 +164,154 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
dataLocalShowOne.add(menuModel);
}
}
planDishC.text = priceSum.toString();
// planDishC.text = priceSum.toString();
});
}
_calculatePrice();
print(dataLocalShowMore);
print(dataLocalShowOne);
}
_calculateMore() {}
_calculateOne() {}
//计算价格
_calculatePrice() {
priceSum = 0;
memberPriceSum = 0;
dataLocalShowMore.forEach((element) {
if (element.channel == '1' || element.channel == '2') {
List<SunListPlan> olddata =
element.channel == '1' ? widget.storeList : widget.mineList;
olddata.forEach((store) {
if (element.amount > 0) {
if (store.id == element.id) {
bool isChange = false; //套餐数量是否发生变化
//同一个套餐
store.cookList.forEach((storeCook) {
if (store.cookList.length != element.cookList.length) {
isChange = true;
}
element.cookList.forEach((cooklist) {
if (cooklist.id == storeCook.id) {
if (cooklist.cookbooklist.length !=
storeCook.cookbooklist.length) {
isChange = true;
}
//同一分类
cooklist.cookbooklist.forEach((value1) {
storeCook.cookbooklist.forEach((value2) {
if (value1.id == value2.id) {
if (value1.amount != value2.amount) {
isChange = true;
}
}
});
});
}
});
});
//当前套餐/排菜数量已经发生变化
if (!isChange) {
priceSum += double.parse(store.planPrice) * element.amount;
memberPriceSum +=
double.parse(store.memberPrice) * element.amount;
} else {
//单品
element.cookList.forEach((cooklist) {
//同一分类
cooklist.cookbooklist.forEach((value1) {
priceSum += double.parse(value1.price) *
value1.amount *
element.amount;
memberPriceSum += double.parse(value1.member_price) *
value1.amount *
element.amount;
});
});
}
}
}
});
} else if (element.channel == '3') {
//店内常点
} else {
// //单菜
// bool hasmMenu = element.cookbooklist.any(((value) => value.amount > 0));
// if (hasmMenu) {
// //单品此类有选中菜品
// element.cookbooklist.forEach((value) {
// if (value.amount > 0) {
// priceSum += double.parse(value.price) * value.amount;
// memberPriceSum += double.parse(value.member_price) * value.amount;
// }
// });
// }
}
});
//单菜品价格
dataLocalShowOne.forEach((element) {
//单菜
bool hasmMenu = element.cookbooklist.any(((value) => value.amount > 0));
if (hasmMenu) {
//单品此类有选中菜品
element.cookbooklist.forEach((value) {
if (value.amount > 0) {
priceSum += double.parse(value.price) * value.amount;
memberPriceSum += double.parse(value.member_price) * value.amount;
}
});
}
});
planDishC.text = priceSum.toString();
}
// _calculateMore(List<MenuSunModel>dataLocalShowMore) {
// }
// _calculateOne() {}
//判断当前套餐或者排菜数量是否发生变化
// _isChange(List<SunListPlan> olddata) {
// bool isChange = false; //套餐数量是否发生变化
// dataLocalShowMore.forEach((element) {
// if (element.name == '套餐') {
// //套餐是否发生变化
// element.cookList.forEach((cooklist) {
// cooklist.cookbooklist.forEach((cook) {
// olddata.forEach((store) {
// if (cooklist.id == store.id) {
// store.cookList.forEach((storecooklist) {
// storecooklist.cookbooklist.forEach((storecook) {
// if (cook.amount != storecook.amount) {
// //数量发生变化
// isChange = true;
// }
// });
// });
// }
// });
// });
// });
// }
// });
// print(isChange);
// return isChange;
// }
// //计算价格
// _calculateMore(){
// if(_isChange(widget.storeList)){
// //套餐数量发生变化
// // 单个菜品价格计算
// priceSum += double.parse(cookSun.price) * cookSun.amount;
// memberPriceSum +=
// double.parse(cookSun.member_price) * cookSun.amount;
// }else{
// //套餐价
// priceSum = widget.storeList
// }
// }
@override
Widget build(BuildContext context) {
... ... @@ -288,7 +447,7 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
),
Spacer(),
Text(
'${menuSunModelF.moreSum}道',
'${menuSunModelF.moreSum}份',
style: TextStyle(
fontSize: font(14),
color: MyColours
... ... @@ -296,17 +455,43 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
),
),
InkWell(
onTap: () {
//弹框确认是否删除
DialogUtil
.cupertinoAlertDialog(
context,
title: "",
content:
"确定要删除此套餐下所有菜品吗?",
rTitle: "确定",
rCallback:
() {
//遍历将要被删除的列表,计算页面显示数值
carSum -=
menuSunModelF
.moreSum;
dataLocalShowMore
.removeAt(
indexMore);
_calculatePrice();
setState(() {});
});
},
child: Container(
// color: Colors.red,
padding: EdgeInsets.only(
left: w(20),
right: w(18)),
child: Image.asset(
Utils.getImgPath(
'f_delete_red'),
width: w(17),
),
))
// color: Colors.red,
padding:
EdgeInsets.only(
left: w(20),
right: w(18)),
child: Image.asset(
Utils.getImgPath(
'f_delete_red'),
width: w(17),
),
))
],
))
],
... ... @@ -400,10 +585,11 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
// carSum += element.amount;
menuModel.allSum -= element.amount;
menuSunModelF.moreSum -= element.amount;
priceSum -= double.parse(element.price) * element.amount;
planDishC.text = priceSum.toString();
memberPriceSum -= double.parse(element.member_price) * element.amount;
// menuSunModelF.moreSum -= element.amount;
// priceSum -= double.parse(element.price) * element.amount;
// planDishC.text = priceSum.toString();
// memberPriceSum -= double.parse(element.member_price) * element.amount;
carSum -= element.amount;
});
dataLocalShowMore[indexMore].cookList.removeAt(indexF);
... ... @@ -413,6 +599,8 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
dataLocalShowMore.removeAt(indexMore);
}
_calculatePrice();
setState(() {});
});
},
... ... @@ -521,19 +709,20 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
menuModel
.allSum--;
menuSunModelF
.moreSum--;
priceSum -=
double.parse(
menuSunModel
.price);
planDishC.text =
priceSum
.toString();
memberPriceSum -=
double.parse(
menuSunModel
.member_price);
// menuSunModelF
// .moreSum--;
// priceSum -=
// double.parse(
// menuSunModel
// .price);
// planDishC.text =
// priceSum
// .toString();
// memberPriceSum -=
// double.parse(
// menuSunModel
// .member_price);
_calculatePrice();
carSum--;
if (menuSunModel
.amount ==
... ... @@ -670,25 +859,26 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
menuSunModel
.amount;
menuSunModelF
.moreSum -=
menuSunModel
.amount;
priceSum -= double.parse(
menuSunModel
.price) *
menuSunModel
.amount;
// menuSunModelF
// .moreSum -=
// menuSunModel
// .amount;
// priceSum -= double.parse(
// menuSunModel
// .price) *
// menuSunModel
// .amount;
planDishC
.text =
priceSum
.toString();
memberPriceSum -= double.parse(
menuSunModel
.member_price) *
menuSunModel
.amount;
// planDishC
// .text =
// priceSum
// .toString();
// memberPriceSum -= double.parse(
// menuSunModel
// .member_price) *
// menuSunModel
// .amount;
// _calculatePrice();
carSum -=
menuSunModel
.amount;
... ... @@ -734,20 +924,20 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
// menuSunModel
// .amount +=
// input;
menuSunModelF
.moreSum +=
input;
priceSum +=
double.parse(menuSunModel.price) *
input;
planDishC
.text =
priceSum
.toString();
memberPriceSum +=
double.parse(menuSunModel.member_price) *
input;
// menuSunModelF
// .moreSum +=
// input;
// priceSum +=
// double.parse(menuSunModel.price) *
// input;
// planDishC
// .text =
// priceSum
// .toString();
// memberPriceSum +=
// double.parse(menuSunModel.member_price) *
// input;
carSum +=
input;
}
... ... @@ -756,6 +946,7 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
.amount =
int.parse(
value);
_calculatePrice();
setState(
() {});
}
... ... @@ -783,19 +974,20 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
'${menuSunModel.amount}';
menuModel
.allSum++;
menuSunModelF
.moreSum++;
priceSum +=
double.parse(
menuSunModel
.price);
planDishC.text =
priceSum
.toString();
memberPriceSum +=
double.parse(
menuSunModel
.member_price);
// menuSunModelF
// .moreSum++;
// priceSum +=
// double.parse(
// menuSunModel
// .price);
// planDishC.text =
// priceSum
// .toString();
// memberPriceSum +=
// double.parse(
// menuSunModel
// .member_price);
_calculatePrice();
carSum++;
setState(() {});
},
... ... @@ -905,20 +1097,21 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
// element
// .amount;
priceSum -= double.parse(
element
.price) *
element
.amount;
planDishC
.text =
priceSum
.toString();
memberPriceSum -= double.parse(
element
.member_price) *
element
.amount;
// priceSum -= double.parse(
// element
// .price) *
// element
// .amount;
// planDishC
// .text =
// priceSum
// .toString();
// memberPriceSum -= double.parse(
// element
// .member_price) *
// element
// .amount;
_calculatePrice();
carSum -=
element
.amount;
... ... @@ -1020,13 +1213,14 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
menuModel.allSum--;
carSum--;
priceSum -= double.parse(
menuSunModel.price);
planDishC.text =
priceSum.toString();
memberPriceSum -=
double.parse(menuSunModel
.member_price);
// priceSum -= double.parse(
// menuSunModel.price);
// planDishC.text =
// priceSum.toString();
// memberPriceSum -=
// double.parse(menuSunModel
// .member_price);
_calculatePrice();
if (menuSunModel.amount ==
0) {
//把当前菜品从列表中去除
... ... @@ -1119,17 +1313,18 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
menuModel.allSum -=
menuSunModel.amount;
priceSum -= double.parse(
menuSunModel
.price) *
menuSunModel.amount;
// priceSum -= double.parse(
// menuSunModel
// .price) *
// menuSunModel.amount;
planDishC.text =
priceSum.toString();
memberPriceSum -= double
.parse(menuSunModel
.member_price) *
menuSunModel.amount;
// planDishC.text =
// priceSum.toString();
// memberPriceSum -= double
// .parse(menuSunModel
// .member_price) *
// menuSunModel.amount;
// _calculatePrice();
carSum -=
menuSunModel.amount;
... ... @@ -1156,22 +1351,24 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
menuModel.allSum +=
input;
priceSum += double.parse(
menuSunModel
.price) *
input;
// priceSum += double.parse(
// menuSunModel
// .price) *
// input;
// planDishC.text =
// priceSum.toString();
// memberPriceSum += double
// .parse(menuSunModel
// .member_price) *
// input;
planDishC.text =
priceSum.toString();
memberPriceSum += double
.parse(menuSunModel
.member_price) *
input;
carSum += input;
}
menuSunModel.amount =
int.parse(value);
_calculatePrice();
setState(() {});
}
},
... ... @@ -1194,13 +1391,14 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
menuModel.allSum++;
carSum++;
priceSum += double.parse(
menuSunModel.price);
planDishC.text =
priceSum.toString();
memberPriceSum +=
double.parse(menuSunModel
.member_price);
// priceSum += double.parse(
// menuSunModel.price);
// planDishC.text =
// priceSum.toString();
// memberPriceSum +=
// double.parse(menuSunModel
// .member_price);
_calculatePrice();
setState(() {});
},
... ... @@ -1458,7 +1656,14 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
fontSize: 36,
isBold: false,
onPressed: () {
Navigator.pop(context);
// List<MenuSunModel> dataLocalShowMore = []; //二级菜单
// List<MenuModel> dataLocalShowOne = []; //一级菜单
Map data = {
'more': dataLocalShowMore,
'one': dataLocalShowOne,
};
Navigator.of(context).pop(data);
// NavigatorUtil.goOrderEditListShowPage(context);
},
),
... ...
... ... @@ -21,11 +21,14 @@ class PlanDishProvider extends ChangeNotifier {
PageState pageStateMy = PageState.Loading;
List<MenuModel> menuModel; //菜品数据
List<MenuModel> menuModelForManager = []; //经理点菜菜品数据
List<MenuModel> menuModelForManager = []; //经理点菜菜品数据
List<SunListPlan> allList = []; //排菜套餐列表--全部
List<SunListPlan> storeList = []; //排菜套餐列表--店铺
List<SunListPlan> mineList = []; //排菜套餐列表--我的
List<SunListPlan> storeListTemp = []; //排菜套餐列表--店铺
List<SunListPlan> mineListTemp = []; //排菜套餐列表--我的
// List<CookbookCategorySunModel> categorySunModel; //菜品分类数据
// List<CookbookSpecSunModel> specSunModel; //计价单位
... ... @@ -137,13 +140,17 @@ class PlanDishProvider extends ChangeNotifier {
if (baseResp != null && baseResp.code == Constant.status_success) {
PlanCookListSunModel planCookListSunModel =
PlanCookListModel.fromJson(baseResp.responseData).data;
storeList = [];
mineList = [];
PlanCookListSunModel planCookListSunModel1 =
PlanCookListModel.fromJson(baseResp.responseData).data;
allList = [];
storeList.addAll(planCookListSunModel.packageList);
mineList.addAll(planCookListSunModel.plancookList);
storeList = List.from(planCookListSunModel.packageList);
mineList = List.from(planCookListSunModel.plancookList);
allList.addAll(storeList);
allList.addAll(mineList);
storeListTemp = planCookListSunModel1.packageList;
mineListTemp = planCookListSunModel1.plancookList;
if (storeList.length == 0) {
pageStateStore = PageState.Empty;
} else {
... ...
... ... @@ -1266,7 +1266,7 @@ class NavigatorUtil {
///经理排菜-编辑列表展示
static Future<dynamic> goOrderEditListShowPage(BuildContext context,
{replace = false, Map object}) {
{replace = false, Map object, Map object1, Map object2}) {
// if (invoice != null) {
// return _navigateTo(context,
// "${Routes.order_advance_home_page}?invoice=${FluroConvertUtils.object2string(invoice)}",
... ... @@ -1274,7 +1274,7 @@ class NavigatorUtil {
// }
if (object != null) {
return _navigateTo(context,
"${Routes.order_edit_list_show_page}?object=${FluroConvertUtils.object2string(object)}");
"${Routes.order_edit_list_show_page}?object=${FluroConvertUtils.object2string(object)}&object1=${FluroConvertUtils.object2string(object1)}&object2=${FluroConvertUtils.object2string(object2)}");
}
return _navigateTo(context, "${Routes.order_edit_list_show_page}",
replace: replace);
... ...
... ... @@ -2023,8 +2023,39 @@ var orderEditListShowPageHandle = new Handler(
res.add(MenuModel.fromJson2(item));
}
}
List<SunListPlan> storeList = [];
if (params.keys.contains('object1')) {
Map object = FluroConvertUtils.string2map(params["object1"].first);
List temp = object['object1'];
// SunListPlan plan = SunListPlan();
// plan.
// planDishPrice = params["planDishPrice"].first;
for (var item in temp) {
// MenuModel menuModel = MenuModel.fromJson2(item);
// res.add(menuModel);
// print(res);
storeList.add(SunListPlan.fromJson(item));
}
}
List<SunListPlan> mineList = [];
if (params.keys.contains('object2')) {
Map object = FluroConvertUtils.string2map(params["object2"].first);
List temp = object['object2'];
// SunListPlan plan = SunListPlan();
// plan.
// planDishPrice = params["planDishPrice"].first;
for (var item in temp) {
// MenuModel menuModel = MenuModel.fromJson2(item);
// res.add(menuModel);
// print(res);
mineList.add(SunListPlan.fromJson(item));
}
}
return OrderEditListShowPage(data: res);
return OrderEditListShowPage(
data: res, storeList: storeList, mineList: mineList);
});
///经理排菜--类型选择
... ...