Commit a9bf214a0482c5433882eb7b0e539f6f359ce767

Authored by wdn127929
1 parent 9d2486da

店内常点

228 KB | W: | H:

40.6 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
class SellerOftenModel {
int ret;
List<SellerOftenSunModel> data;
String msg;
SellerOftenModel({this.ret, this.data, this.msg});
SellerOftenModel.fromJson(Map<String, dynamic> json) {
ret = json['ret'];
if (json['data'] != null) {
data = <SellerOftenSunModel>[];
json['data'].forEach((v) {
data.add(new SellerOftenSunModel.fromJson(v));
});
}
msg = json['msg'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['ret'] = this.ret;
if (this.data != null) {
data['data'] = this.data.map((v) => v.toJson()).toList();
}
data['msg'] = this.msg;
return data;
}
}
class SellerOftenSunModel {
String pnum;
String sellerid;
String price;
String memberPrice;
String id;
List<SellerOftenCooklist> cooklist;
SellerOftenSunModel(
{this.pnum,
this.sellerid,
this.price,
this.memberPrice,
this.id,
this.cooklist});
SellerOftenSunModel.fromJson(Map<String, dynamic> json) {
pnum = json['pnum'];
sellerid = json['sellerid'];
price = json['price'];
memberPrice = json['member_price'];
id = json['id'];
if (json['cooklist'] != null) {
cooklist = <SellerOftenCooklist>[];
json['cooklist'].forEach((v) {
cooklist.add(new SellerOftenCooklist.fromJson(v));
});
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['pnum'] = this.pnum;
data['sellerid'] = this.sellerid;
data['price'] = this.price;
data['member_price'] = this.memberPrice;
data['id'] = this.id;
if (this.cooklist != null) {
data['cooklist'] = this.cooklist.map((v) => v.toJson()).toList();
}
return data;
}
}
class SellerOftenCooklist {
String classid;
String className;
List<SellerOftenSunCooklist> cooklist;
SellerOftenCooklist({this.classid, this.className, this.cooklist});
SellerOftenCooklist.fromJson(Map<String, dynamic> json) {
classid = json['classid'];
className = json['class_name'];
if (json['cooklist'] != null) {
cooklist = <SellerOftenSunCooklist>[];
json['cooklist'].forEach((v) {
cooklist.add(new SellerOftenSunCooklist.fromJson(v));
});
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['classid'] = this.classid;
data['class_name'] = this.className;
if (this.cooklist != null) {
data['cooklist'] = this.cooklist.map((v) => v.toJson()).toList();
}
return data;
}
}
class SellerOftenSunCooklist {
int amount;
String sid;
String cookbookid;
String specid;
String practiceid;
String price;
String memberPrice;
String name;
String unit;
String image;
String className;
String classid;
String classOrder;
SellerOftenSunCooklist(
{this.amount,
this.sid,
this.cookbookid,
this.specid,
this.practiceid,
this.price,
this.memberPrice,
this.name,
this.unit,
this.image,
this.className,
this.classid,
this.classOrder});
SellerOftenSunCooklist.fromJson(Map<String, dynamic> json) {
amount = json['amount'] == null || json['amount'] == ''
? 0
: int.parse(json['amount']);
sid = json['sid'];
cookbookid = json['cookbookid'];
specid = json['specid'];
practiceid = json['practiceid'];
price = json['price'];
memberPrice = json['member_price'];
name = json['name'];
unit = json['unit'];
image = json['image'];
className = json['class_name'];
classid = json['classid'];
classOrder = json['class_order'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['amount'] = this.amount;
data['sid'] = this.sid;
data['cookbookid'] = this.cookbookid;
data['specid'] = this.specid;
data['practiceid'] = this.practiceid;
data['price'] = this.price;
data['member_price'] = this.memberPrice;
data['name'] = this.name;
data['unit'] = this.unit;
data['image'] = this.image;
data['class_name'] = this.className;
data['classid'] = this.classid;
data['class_order'] = this.classOrder;
return data;
}
}
... ...
... ... @@ -352,8 +352,10 @@ class HttpUrl {
static const String get_plan_cook_by_rid =
"?service=App.PlanCook.GetPlanCookByRid"; // 根据预定ID获取排菜
static const String create_order =
static const String create_order =
"?service=App.Advance.CreateOrder"; // 跳转小程序提前点餐调用该接口生成oid
static const String get_seller_often =
"?service=App.PlanCook.SellerOften"; // 获取商家店内常点
}
... ...
... ... @@ -52,34 +52,35 @@ class _OrderCustomerDetailPageState extends State<OrderCustomerDetailPage> {
@override
void initState() {
super.initState();
if ((widget.detailEntity.rnameStr == '' ||
widget.detailEntity.rnameStr == null) &&
(widget.detailEntity.phone == '' ||
widget.detailEntity.phone == null) &&
widget.detailEntity.status != "4") {
if (((widget.detailEntity.rnameStr == '' ||
widget.detailEntity.rnameStr == null) &&
(widget.detailEntity.phone == '' ||
widget.detailEntity.phone == null) &&
widget.detailEntity.status != "4") ||
widget.detailEntity.gid == null) {
//没有联系人
WidgetsBinding.instance.addPostFrameCallback((_) {
customerProvider.pageStateGuestInfo = PageState.Empty;
customerProvider.notifyListeners();
});
} else {
_initSexList();
nameFocus.addListener(() {
if (nameFocus.hasFocus) {
print('得到焦点');
} else {
print('失去焦点');
// _homeEnterModel.nameController.text = nameStr + _nameSuffix();
_addNameSuffix(nameStr, _nameSuffix());
}
setState(() {});
});
WidgetsBinding.instance.addPostFrameCallback((_) {
_getGuestInfo();
_initSexList();
nameFocus.addListener(() {
if (nameFocus.hasFocus) {
print('得到焦点');
} else {
print('失去焦点');
// _homeEnterModel.nameController.text = nameStr + _nameSuffix();
_addNameSuffix(nameStr, _nameSuffix());
}
setState(() {});
});
WidgetsBinding.instance.addPostFrameCallback((_) {
_getGuestInfo();
_getLabelBySellerid();
// scrollController.jumpTo(scrollController.position.minScrollExtent);
});
_getLabelBySellerid();
// scrollController.jumpTo(scrollController.position.minScrollExtent);
});
}
}
... ...
... ... @@ -32,13 +32,15 @@ class OrderAdvanceEidtPage extends StatefulWidget {
final String rid;
final PlanCookByRidSunModel planCookByRidSunModel;
final NotebookDetail detailEntity;
OrderAdvanceEidtPage({
Key key,
this.planId,
this.rid,
this.planCookByRidSunModel,
this.detailEntity,
}) : super(key: key);
final String pnum;
OrderAdvanceEidtPage(
{Key key,
this.planId,
this.rid,
this.planCookByRidSunModel,
this.detailEntity,
this.pnum})
: super(key: key);
@override
_OrderAdvanceEidtPageState createState() => _OrderAdvanceEidtPageState();
... ... @@ -113,11 +115,13 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
}
_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);
//单个菜品
... ... @@ -196,6 +200,63 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
_planDishProvider.menuModelForManager
.insert(0, menuModelSetMeal); //添加套餐
//店内常点数据
MenuModel menuModelStoreOften = MenuModel();
menuModelStoreOften.className = '店内常点';
menuModelStoreOften.isChange = false;
// List<MenuSunModel> cookListStoreOften = [];
List<MenuSunModel> sellerOftendata =
_planDishProvider.sellerOftendataTemp;
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 (widget.planCookByRidSunModel != null &&
// widget.planCookByRidSunModel.packageList != null &&
// widget.planCookByRidSunModel.packageList.length > 0) {
// //套餐数据对应
// widget.planCookByRidSunModel.packageList.forEach((package) {
// if (package.id == menuSunModel.id) {
// //同一个套餐
// menuSunModel.amount = package.amount;
// menuSunModel.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.amount = newcook.amount;
// carSum += newcook.amount;
// }
// });
// });
// }
// });
// });
// }
// });
// }
// cookListStoreOften.add(menuSunModel);
// }
});
menuModelStoreOften.cookbooklist = sellerOftendata;
_planDishProvider.menuModelForManager
.insert(1, menuModelStoreOften); //店内常点数据
//排菜数据
MenuModel menuModelPlanDish = MenuModel();
menuModelPlanDish.className = '我的排菜';
menuModelPlanDish.isChange = false;
... ... @@ -245,7 +306,7 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
menuModelPlanDish.cookbooklist = cookListPlanDish;
_planDishProvider.menuModelForManager
.insert(1, menuModelPlanDish); //添加排菜
.insert(2, menuModelPlanDish); //添加排菜
MenuModel menuModelShort = MenuModel();
menuModelShort.className = '临时加菜';
... ... @@ -345,6 +406,47 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
}
});
});
} else if (element.className == '店内常点') {
List<MenuSunModel> olddata = _planDishProvider.sellerOftendata;
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 {
//单菜
... ... @@ -427,6 +529,28 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
}
}
///获取商家店内常点
Future<bool> _getSellerOften({bool isShowLoading = true}) async {
if (widget.pnum == '' || widget.pnum == null) {
//没有人数,数据为空
_planDishProvider.sellerOftendata = [];
return true;
} else {
Map<String, String> params = {
"pnum": widget.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;
}
}
}
Widget list(List data) => ScrollablePositionedList.builder(
// itemCount: data.length,
itemCount: 10,
... ... @@ -513,7 +637,9 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
//把数量置空
_clearAmount() {
_planDishProvider.menuModelForManager.forEach((element) {
if (element.className == '套餐' || element.className == '我的排菜') {
if (element.className == '套餐' ||
element.className == '我的排菜' ||
element.className == '店内常点') {
element.cookbooklist.forEach((newdata) {
newdata.amount = 0;
... ... @@ -578,6 +704,18 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
} else {
params['plan_list'] = null;
}
} else if (element.className == '店内常点') {
List<MenuSunModel> oftenlist = [];
element.cookbooklist.forEach((cooklist) {
if (cooklist.amount > 0) {
oftenlist.add(cooklist);
}
});
if (oftenlist.length > 0) {
params['often_list'] = json.encode(oftenlist);
} else {
params['often_list'] = null;
}
} else if (element.className == '临时加菜') {
//临时加菜
... ... @@ -686,6 +824,53 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
}
});
});
} else if (element.className == '店内常点') {
List<MenuSunModel> olddata = _planDishProvider.sellerOftendata;
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.price) * newdata.amount;
memberPriceSum +=
double.parse(store.member_price) * 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 == '临时加菜') {
//临时加菜
bool hasmMenu = element.cookbooklist.any(((value) => value.amount > 0));
... ... @@ -983,7 +1168,11 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
_planDishProvider
.menuModelForManager[
_selectIndex] ==
'我的排菜') {
'我的排菜' ||
_planDishProvider
.menuModelForManager[
_selectIndex] ==
'店内常点') {
// _calculatePrice();
//套餐菜品总个数
//遍历套餐下的菜品分类
... ... @@ -1134,7 +1323,11 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
_planDishProvider
.menuModelForManager[
_selectIndex] ==
'我的排菜') {
'我的排菜' ||
_planDishProvider
.menuModelForManager[
_selectIndex] ==
'店内常点') {
//套餐菜品总个数
//遍历套餐下的菜品分类
menuSunModel.cookList
... ... @@ -1363,6 +1556,10 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
object2: {
'object2': _planDishProvider.mineList
},
object3: {
'object3':
_planDishProvider.sellerOftendata
},
planPrice: planDishC.text,
planCookByRidSunModel:
widget.planCookByRidSunModel,
... ... @@ -1396,7 +1593,8 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
_planDishProvider.menuModelForManager
.forEach((element) {
if (element.className == '套餐' ||
element.className == '我的排菜') {
element.className == '我的排菜' ||
element.className == '店内常点') {
dataLocalShowMore.forEach((value) {
element.cookbooklist.forEach((elementCook) {
if (value.id == elementCook.id) {
... ... @@ -1503,7 +1701,8 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
_planDishProvider.menuModelForManager
.forEach((element) {
if (element.className == '套餐' ||
element.className == '我的排菜') {
element.className == '我的排菜' ||
element.className == '店内常点') {
// //如果是套餐,则看cooklist有没有选中的
// bool isChange = false; //套餐或者排菜数量是否选中
// if (element.className == '套餐') {
... ... @@ -1558,20 +1757,23 @@ class _OrderAdvanceEidtPageState extends State<OrderAdvanceEidtPage> {
value.moreSum = value.amount;
value.channel = element.className == '套餐'
? '1'
: '2'; // 1套餐----2排菜
: element.className == '我的排菜'
? '2'
: '3'; // 1套餐----2排菜
dataLocalShowMore.add(value);
}
});
} else if (element.className == '店内常点') {
// //如果是我的排菜,则看cooklist有没有选中的
// bool hasmMine =
// element.cookbooklist.any(((value) => value.amount > 0));
// if (hasmMine) {
// //套餐中有被选中
// maxIndex++;
// }
}
// else if (element.className == '店内常点') {
// // //如果是我的排菜,则看cooklist有没有选中的
// // bool hasmMine =
// // element.cookbooklist.any(((value) => value.amount > 0));
// // if (hasmMine) {
// // //套餐中有被选中
// // maxIndex++;
// // }
// }
// else if (element.className == '临时加菜') {
// }
else {
... ...
... ... @@ -803,17 +803,18 @@ class _OrderAdvanceHomePageState extends State<OrderAdvanceHomePage> {
// context, params,
// showLoading: true);
// if (oid != null) {
//获取成功
Utils.goShareOrderPageToWeChat(context,
title: '菜品已点好,快来看看都点了什么~',
img:
'http://nosqn.colorcun.com/reserve/images/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_201911151148571.jpg',
rid: widget.rid,
// oid: oid,
sid: Provider.of<UserModel>(context,
listen: false)
.user
.sellerid);
//获取成功
Utils.goShareOrderPageToWeChat(context,
title:
'张红经理邀请您点餐了',
img:
'http://nosqn.colorcun.com/reserve/images/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_201911151148571.jpg',
rid: widget.rid,
// oid: oid,
sid:
Provider.of<UserModel>(context, listen: false)
.user
.sellerid);
// }
},
child: Container(
... ... @@ -906,7 +907,8 @@ class _OrderAdvanceHomePageState extends State<OrderAdvanceHomePage> {
rid: widget.rid,
planCookByRidSunModel:
_planDishProvider.planCookByRidSunModel,
detailEntity: widget.detailEntity);
detailEntity: widget.detailEntity,
pnum: pnumController.text);
} else {
Utils.showToast('信息提交失败,请重试');
}
... ...
... ... @@ -26,6 +26,8 @@ import '../../utils/event_bus.dart';
class OrderEditListShowPage extends StatefulWidget {
final List<SunListPlan> storeList; //套餐元数据
final List<SunListPlan> mineList; //我的排菜元数据
final List<MenuSunModel> oftenList; //店内常点元数据
final List<MenuModel> data;
final String planPrice;
final PlanCookByRidSunModel planCookByRidSunModel;
... ... @@ -45,7 +47,8 @@ class OrderEditListShowPage extends StatefulWidget {
this.needSubmmit = false,
this.planId,
this.rid,
this.datatemp})
this.datatemp,
this.oftenList})
: super(key: key);
@override
... ... @@ -64,6 +67,7 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
List<SunListPlan> storeListLocal = []; //把amount = 0 的筛选出去
List<SunListPlan> mineListLocal = []; //把amount = 0 的筛选出去
List<MenuSunModel> oftenListLocal = []; //把amount = 0 的筛选出去
TextEditingController planDishName = TextEditingController(); //排菜名称
TextEditingController planDishRemark = TextEditingController(); //排菜备注
... ... @@ -101,7 +105,9 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
if (widget.data != null) {
widget.data.forEach((element) {
if (element.className == '套餐' || element.className == '我的排菜') {
if (element.className == '套餐' ||
element.className == '我的排菜' ||
element.className == '店内常点') {
// //如果是套餐,则看cooklist有没有选中的
// bool isChange = false; //套餐或者排菜数量是否选中
// if (element.className == '套餐') {
... ... @@ -153,22 +159,27 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
}
});
value.moreSum = value.amount;
value.channel =
element.className == '套餐' ? '1' : '2'; // 1套餐----2排菜
value.channel = element.className == '套餐'
? '1'
: element.className == '我的排菜'
? '2'
: '3'; // 1套餐----2排菜----3店内常点
dataLocalShowMore.add(value);
// dataLocalShowMore.add(MenuSunModel.fromJson3(value.toJson()));
}
});
} else if (element.className == '店内常点') {
// //如果是我的排菜,则看cooklist有没有选中的
// bool hasmMine =
// element.cookbooklist.any(((value) => value.amount > 0));
// if (hasmMine) {
// //套餐中有被选中
// maxIndex++;
// }
} else if (element.className == '临时加菜') {
}
// else if (element.className == '店内常点') {
// // //如果是我的排菜,则看cooklist有没有选中的
// // bool hasmMine =
// // element.cookbooklist.any(((value) => value.amount > 0));
// // if (hasmMine) {
// // //套餐中有被选中
// // maxIndex++;
// // }
// }
else if (element.className == '临时加菜') {
//临时加菜
bool hasmMenu =
element.cookbooklist.any(((value) => value.amount > 0));
... ... @@ -259,6 +270,19 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
mineListLocal.add(sunListPlanTempMine);
});
}
if (widget.oftenList != null) {
MenuSunModel oftenListTemp = MenuSunModel();
widget.oftenList.forEach((sunListPlan) {
oftenListTemp = sunListPlan;
oftenListTemp.cookList.forEach((menuModel) {
menuModel.cookbooklist.removeWhere((element) => element.amount == 0);
});
oftenListTemp.cookList
.removeWhere((element) => element.cookbooklist.length == 0);
print(oftenListTemp);
oftenListLocal.add(oftenListTemp);
});
}
_calculatePrice();
if (widget.planPrice != null) {
planDishC.text = widget.planPrice;
... ... @@ -329,6 +353,59 @@ class _OrderEditListShowPageState extends State<OrderEditListShowPage> {
});
} else if (element.channel == '3') {
//店内常点
List<MenuSunModel> olddata = oftenListLocal;
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.price) * element.amount;
memberPriceSum +=
double.parse(store.member_price) * 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 {
// //单菜
// bool hasmMenu = element.cookbooklist.any(((value) => value.amount > 0));
... ...
... ... @@ -11,6 +11,7 @@ import 'package:one_key/utils/utils.dart';
import '../constant/constant.dart';
import '../constant/error.dart';
import '../models/cookbook_model.dart';
import '../models/seller_often_model.dart';
import '../net/http_url.dart';
/**
... ... @@ -36,6 +37,8 @@ class PlanDishProvider extends ChangeNotifier {
List<SunListPlan> mineListTemp = []; //排菜套餐列表--我的
String planId;
PlanCookByRidSunModel planCookByRidSunModel; //订单排菜的数据
List<MenuSunModel> sellerOftendata; //店内常点
List<MenuSunModel> sellerOftendataTemp = []; //店内常点
// List<CookbookCategorySunModel> categorySunModel; //菜品分类数据
// List<CookbookSpecSunModel> specSunModel; //计价单位
... ... @@ -304,4 +307,85 @@ class PlanDishProvider extends ChangeNotifier {
return false;
}
}
Future<bool> getSellerOften(BuildContext context, Map<String, String> params,
{showLoading = false}) async {
BaseResp<dynamic> baseResp = await DioUtil()
.request<dynamic>(context, Method.get, HttpUrl.get_seller_often,
data: params, showLoading: showLoading)
.catchError((error) {
print(error.toString());
if (error is MyError) {}
return false;
});
if (baseResp != null && baseResp.code == Constant.status_success) {
List<SellerOftenSunModel> sellerOftenSunModel =
SellerOftenModel.fromJson(baseResp.responseData).data;
List<MenuSunModel> data = [];
List<MenuSunModel> datatemp = [];
sellerOftenSunModel.forEach((element) {
// SellerOftenSunModel
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 = '份';
//
List<MenuModel> cookF = [];
element.cooklist.forEach((value) {
MenuModel menuModel = MenuModel();
menuModel.id = value.classid;
menuModel.sellerid = element.sellerid;
menuModel.className = value.className;
menuModel.classLabel = null;
menuModel.order = null;
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.name = cook.name;
cookData.unit = cook.unit;
cookData.image = cook.image;
cookData.amount = cook.amount;
// "specid": null,
// "practiceid": null,
// "class_name": "炒菜12",
// "class_order": "2"
menuModel.cookbooklist.add(cookData);
});
cookF.add(menuModel);
});
menuSunModel.cookList = cookF;
data.add(menuSunModel);
datatemp.add(menuSunModel);
});
print(data);
sellerOftendata = data;
sellerOftendataTemp = datatemp;
// sellerOftendata
notifyListeners();
return true;
} else {
Utils.showToast(baseResp.msg ?? "");
return false;
}
}
}
... ...
... ... @@ -1236,7 +1236,8 @@ class NavigatorUtil {
String planId,
String rid,
PlanCookByRidSunModel planCookByRidSunModel,
NotebookDetail detailEntity}) {
NotebookDetail detailEntity,
String pnum}) {
// if (invoice != null) {
// return _navigateTo(context,
// "${Routes.order_advance_home_page}?invoice=${FluroConvertUtils.object2string(invoice)}",
... ... @@ -1244,11 +1245,11 @@ class NavigatorUtil {
// }
if (planCookByRidSunModel != null) {
return _navigateTo(context,
"${Routes.order_advance_edit_page}?planId=$planId&rid=$rid&planCookByRidSunModel=${FluroConvertUtils.object2string(planCookByRidSunModel)}&detail=${FluroConvertUtils.object2string(detailEntity)}",
"${Routes.order_advance_edit_page}?planId=$planId&rid=$rid&planCookByRidSunModel=${FluroConvertUtils.object2string(planCookByRidSunModel)}&detail=${FluroConvertUtils.object2string(detailEntity)}&pnum=$pnum",
replace: replace);
}
return _navigateTo(context,
"${Routes.order_advance_edit_page}?planId=$planId&rid=$rid&detail=${FluroConvertUtils.object2string(detailEntity)}",
"${Routes.order_advance_edit_page}?planId=$planId&rid=$rid&detail=${FluroConvertUtils.object2string(detailEntity)}&pnum=$pnum",
replace: replace);
}
... ... @@ -1284,6 +1285,7 @@ class NavigatorUtil {
Map object,
Map object1,
Map object2,
Map object3,
String planPrice,
PlanCookByRidSunModel planCookByRidSunModel,
NotebookDetail detailEntity,
... ... @@ -1297,11 +1299,11 @@ class NavigatorUtil {
// }
if (object != null && planCookByRidSunModel != null) {
return _navigateTo(context,
"${Routes.order_edit_list_show_page}?object=${FluroConvertUtils.object2string(object)}&object1=${FluroConvertUtils.object2string(object1)}&object2=${FluroConvertUtils.object2string(object2)}&planPrice=$planPrice&planCookByRidSunModel=${FluroConvertUtils.object2string(planCookByRidSunModel)}&detail=${FluroConvertUtils.object2string(detailEntity)}&needSubmmit=$needSubmmit&planId=$planId&rid=$rid");
"${Routes.order_edit_list_show_page}?object=${FluroConvertUtils.object2string(object)}&object1=${FluroConvertUtils.object2string(object1)}&object2=${FluroConvertUtils.object2string(object2)}&object3=${FluroConvertUtils.object2string(object3)}&planPrice=$planPrice&planCookByRidSunModel=${FluroConvertUtils.object2string(planCookByRidSunModel)}&detail=${FluroConvertUtils.object2string(detailEntity)}&needSubmmit=$needSubmmit&planId=$planId&rid=$rid");
}
if (object != null) {
return _navigateTo(context,
"${Routes.order_edit_list_show_page}?object=${FluroConvertUtils.object2string(object)}&object1=${FluroConvertUtils.object2string(object1)}&object2=${FluroConvertUtils.object2string(object2)}&planPrice=$planPrice&detail=${FluroConvertUtils.object2string(detailEntity)}&needSubmmit=$needSubmmit&planId=$planId&rid=$rid");
"${Routes.order_edit_list_show_page}?object=${FluroConvertUtils.object2string(object)}&object1=${FluroConvertUtils.object2string(object1)}&object2=${FluroConvertUtils.object2string(object2)}&object3=${FluroConvertUtils.object2string(object3)}&planPrice=$planPrice&detail=${FluroConvertUtils.object2string(detailEntity)}&needSubmmit=$needSubmmit&planId=$planId&rid=$rid");
}
return _navigateTo(context,
"${Routes.order_edit_list_show_page}?needSubmmit=$needSubmmit&planId=$planId&rid=$rid",
... ... @@ -1376,8 +1378,7 @@ class NavigatorUtil {
///排菜----编辑客户详情
static Future<dynamic> goOrderCustomerDetailEditPage(
BuildContext context,
NotebookDetail detailEntity,
{
NotebookDetail detailEntity, {
replace = false,
}) {
return _navigateTo(context,
... ...
... ... @@ -1953,8 +1953,8 @@ var orderAdvanceHomePageHandle = new Handler(
return ChangeNotifierProvider<PlanDishProvider>(
create: (_) => PlanDishProvider(),
child: ChangeNotifierProvider<CustomerProvider>(
create: (_) => CustomerProvider(),
child:OrderAdvanceHomePage(detailEntity: detailEntity, rid: rid)));
create: (_) => CustomerProvider(),
child: OrderAdvanceHomePage(detailEntity: detailEntity, rid: rid)));
});
///经理排菜---编辑
... ... @@ -1962,6 +1962,7 @@ var orderAdvanceEidtPageHandle = new Handler(
handlerFunc: (BuildContext context, Map<dynamic, List<Object>> params) {
String planId = params["planId"].first;
String rid = params["rid"].first;
String pnum = params["pnum"].first;
NotebookDetail detailEntity = NotebookDetail.fromJson(json
.decode(FluroConvertUtils.fluroCnParamsDecode(params["detail"].first)));
PlanCookByRidSunModel planCookByRidSunModel;
... ... @@ -1995,7 +1996,8 @@ var orderAdvanceEidtPageHandle = new Handler(
planId: planId,
rid: rid,
planCookByRidSunModel: planCookByRidSunModel,
detailEntity: detailEntity));
detailEntity: detailEntity,
pnum: pnum));
});
///经理排菜---预览页
... ... @@ -2125,6 +2127,22 @@ var orderEditListShowPageHandle = new Handler(
}
}
List<MenuSunModel> oftenList = [];
if (params.keys.contains('object3')) {
Map object = FluroConvertUtils.string2map(params["object3"].first);
List temp = object['object3'];
// SunListPlan plan = SunListPlan();
// plan.
// planDishPrice = params["planDishPrice"].first;
for (var item in temp) {
// MenuModel menuModel = MenuModel.fromJson2(item);
// res.add(menuModel);
// print(res);
oftenList.add(MenuSunModel.fromJson2(item));
}
}
String planPrice = params["planPrice"].first;
String rid = params["rid"].first;
... ... @@ -2136,6 +2154,7 @@ var orderEditListShowPageHandle = new Handler(
data: res,
storeList: storeList,
mineList: mineList,
oftenList:oftenList,
planPrice: planPrice,
planCookByRidSunModel: planCookByRidSunModel,
detailEntity: detailEntity,
... ... @@ -2260,5 +2279,4 @@ var orderCustomerDetailPageHandle = new Handler(
return ChangeNotifierProvider<CustomerProvider>(
create: (_) => CustomerProvider(),
child: OrderCustomerDetailPage(detailEntity: detailEntity));
});
... ...