Commit bf55900021c1f162bba1a350f628a7e64c1d09fa

Authored by wdn127929
1 parent 27e2096c

进详情编辑

... ... @@ -29,22 +29,22 @@ class PlanCookListModel {
}
class PlanCookListSunModel {
List<SunList> packageList;
List<SunList> plancookList;
List<SunListPlan> packageList;
List<SunListPlan> plancookList;
PlanCookListSunModel({this.packageList, this.plancookList});
PlanCookListSunModel.fromJson(Map<String, dynamic> json) {
if (json['package_list'] != null) {
packageList = <SunList>[];
packageList = <SunListPlan>[];
json['package_list'].forEach((v) {
packageList.add(new SunList.fromJson(v));
packageList.add(new SunListPlan.fromJson(v));
});
}
if (json['plancook_list'] != null) {
plancookList = <SunList>[];
plancookList = <SunListPlan>[];
json['plancook_list'].forEach((v) {
plancookList.add(new SunList.fromJson(v));
plancookList.add(new SunListPlan.fromJson(v));
});
}
}
... ... @@ -61,7 +61,7 @@ class PlanCookListSunModel {
}
}
class SunList {
class SunListPlan {
String id;
String sellerid;
String uid;
... ... @@ -76,7 +76,7 @@ class SunList {
String isDel;
String cdate;
SunList(
SunListPlan(
{this.id,
this.sellerid,
this.uid,
... ... @@ -91,7 +91,7 @@ class SunList {
this.isDel,
this.cdate});
SunList.fromJson(Map<String, dynamic> json1) {
SunListPlan.fromJson(Map<String, dynamic> json1) {
id = json1['id'];
sellerid = json1['sellerid'];
uid = json1['uid'];
... ... @@ -106,9 +106,15 @@ class SunList {
if (json1['cook_list'] != null) {
cookList = <MenuModel>[];
json.decode(json1['cook_list']).forEach((v) {
cookList.add(new MenuModel.fromJson2(v));
});
if (json1['cook_list'] is List) {
json1['cook_list'].forEach((v) {
cookList.add(new MenuModel.fromJson2(v));
});
} else {
json.decode(json1['cook_list']).forEach((v) {
cookList.add(new MenuModel.fromJson2(v));
});
}
}
isDel = json1['is_del'];
cdate = json1['cdate'];
... ...
... ... @@ -6,6 +6,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/provider/plan_dish_provider.dart';
import '../../../models/cookbook_model.dart';
import '../../../models/plan_cook_list_model.dart';
import '../../../res/colors.dart';
import '../../../utils/screen_util.dart';
import '../../../widgets/round_button.dart';
... ... @@ -40,7 +41,9 @@ import 'package:provider/provider.dart';
class PlanDishEidtPage extends StatefulWidget {
final bool isMine;
final bool isEdit;
PlanDishEidtPage({Key key, this.isMine = false, this.isEdit = true})
final SunListPlan sunListPlan;
PlanDishEidtPage(
{Key key, this.isMine = false, this.isEdit = true, this.sunListPlan})
: super(key: key);
@override
... ... @@ -84,6 +87,33 @@ class _PlanDishEidtPageState extends State<PlanDishEidtPage> {
} else {
labelShow = labelList[labelSelIndex];
}
if (widget.sunListPlan != null) {
_dishNameEditControl.text = widget.sunListPlan.pname;
if (widget.sunListPlan.type == '1') {
labelShow = '店内通用套餐';
} else {
labelShow = '自定义排菜单';
}
swichState = widget.sunListPlan.status == '1' ? true : false;
pNumC.text = widget.sunListPlan.pnum;
pNum = int.parse(widget.sunListPlan.pnum);
priceSum = widget.sunListPlan.menuPrice;
memberPriceSum = widget.sunListPlan.memberPrice;
dishPriceC.text = widget.sunListPlan.planPrice;
menuModel = widget.sunListPlan.cookList;
String dish = '';
menuModel.forEach((element) {
element.cookbooklist.forEach((cookbook) {
if (cookbook.amount > 0) {
dish += cookbook.name + '、';
}
});
});
if (dish.endsWith('、')) {
dish = dish.substring(0, dish.length - 1);
}
_dishExplainEditControl.text = dish;
}
_nameFocusNode.addListener(() {
if (_nameFocusNode.hasFocus) {
... ... @@ -126,6 +156,9 @@ class _PlanDishEidtPageState extends State<PlanDishEidtPage> {
"plan_price": dishPriceC.text,
"cook_list": json.encode(menuModel),
};
if (widget.sunListPlan != null) {
params['id'] = widget.sunListPlan.id;
}
// if (!widget.isMine) {
// params['is_examine'] = swichHexiao ? "1" : "0";
// params['uid_list'] = uids;
... ... @@ -133,7 +166,7 @@ class _PlanDishEidtPageState extends State<PlanDishEidtPage> {
bool isSuccess = await dishProvider.setPlanCook(context, params);
if (isSuccess) {
//成功之后跳回前一个页面
// bus.emit('refresh_dish_list');
bus.emit('refresh_dish_plan_home_list');
// EventBus().emit('refresh_dish_invitation');
// bus.emit('refresh_dish_list_f');
... ...
... ... @@ -19,7 +19,7 @@ class PlanDishItem extends StatefulWidget {
// final String from;
final VoidCallback onPressedDel;
final VoidCallback onPressedReUse;
final SunList sunList;
final SunListPlan sunList;
// final bool showBtn;
// final bool showCheck;
PlanDishItem({
... ...
... ... @@ -52,11 +52,15 @@ class _PlanDishSunPageState extends State<PlanDishSunPage> {
// _couponNetworkData(widget.index);
// });
});
bus.on('refresh_dish_plan_home_list', (arg) {
_getPlanCookList(widget.index, isShowLoading: false);
});
}
@override
void dispose() {
super.dispose();
bus.off('refresh_dish_plan_home_list');
}
///排菜/套餐列表
... ... @@ -94,7 +98,7 @@ class _PlanDishSunPageState extends State<PlanDishSunPage> {
Widget build(BuildContext context) {
planDishProvider = Provider.of<PlanDishProvider>(context, listen: true);
PageState pageState;
List<SunList> data = [];
List<SunListPlan> data = [];
if (widget.index == 0) {
pageState = planDishProvider.pageStateHome;
data = planDishProvider.allList;
... ... @@ -128,27 +132,32 @@ class _PlanDishSunPageState extends State<PlanDishSunPage> {
SliverList(
delegate: SliverChildBuilderDelegate(
(BuildContext context, int index) {
return PlanDishItem(
// from: 'quan',
sunList:data[index],
// showBtn: true,
onPressedDel: () {
//弹框确认是否删除
DialogUtil.cupertinoAlertDialog(context,
title: "",
content: "确定要将该排菜删除吗?删除后将无法再次使用该排菜。",
rTitle: "确定", rCallback: () {
// Navigator.pop(context);
// _delGuestInfocDay(model.cday[index].id);
});
},
onPressedReUse: () async {
bool needRefresh = await NavigatorUtil.goPlanDishEditPage(
context,
isMine: false,
isEdit: false);
},
);
return InkWell(
onTap: () async {
bool needRefresh =
await NavigatorUtil.goPlanDishEditPage(context,
isEdit: true, sunList: data[index]);
},
child: PlanDishItem(
// from: 'quan',
sunList: data[index],
// showBtn: true,
onPressedDel: () {
//弹框确认是否删除
DialogUtil.cupertinoAlertDialog(context,
title: "",
content: "确定要将该排菜删除吗?删除后将无法再次使用该排菜。",
rTitle: "确定", rCallback: () {
// Navigator.pop(context);
// _delGuestInfocDay(model.cday[index].id);
});
},
onPressedReUse: () async {
bool needRefresh =
await NavigatorUtil.goPlanDishEditPage(context,
isMine: false, isEdit: false);
},
));
}, childCount: data.length),
),
// SliverList(
... ...
... ... @@ -22,9 +22,9 @@ class PlanDishProvider extends ChangeNotifier {
List<MenuModel> menuModel; //菜品数据
List<SunList> allList = []; //排菜套餐列表--全部
List<SunList> storeList = []; //排菜套餐列表--店铺
List<SunList> mineList = []; //排菜套餐列表--我的
List<SunListPlan> allList = []; //排菜套餐列表--全部
List<SunListPlan> storeList = []; //排菜套餐列表--店铺
List<SunListPlan> mineList = []; //排菜套餐列表--我的
// List<CookbookCategorySunModel> categorySunModel; //菜品分类数据
// List<CookbookSpecSunModel> specSunModel; //计价单位
... ...
... ... @@ -29,6 +29,7 @@ import '../app.dart';
import '../models/get_banquet_by_id_new_model.dart';
import '../models/get_banquet_deposit_model.dart';
import '../models/otherset_model.dart';
import '../models/plan_cook_list_model.dart';
import '../models/set_xuan_tai_model.dart';
import '../models/wine_model.dart';
... ... @@ -1303,16 +1304,17 @@ class NavigatorUtil {
///经理排菜- 编辑页
static Future<dynamic> goPlanDishEditPage(BuildContext context,
{replace = false, bool isMine, bool isEdit}) {
{replace = false, bool isMine, bool isEdit, SunListPlan sunList}) {
// if (invoice != null) {
// return _navigateTo(context,
// "${Routes.plan_dish_edit_page}?invoice=${FluroConvertUtils.object2string(invoice)}",
// replace: replace);
// }
// if (object != null) {
// return _navigateTo(context,
// "${Routes.plan_dish_edit_page}?tids=$tids&tableidNow=$tableidNow&fromPage=$fromPage&canChoose=$canChoose&object=${FluroConvertUtils.object2string(object)}");
// }
if (sunList != null) {
return _navigateTo(context,
"${Routes.plan_dish_edit_page}?sunList=${FluroConvertUtils.object2string(sunList)}&isMine=${isMine}&isEdit=${isEdit}",
replace: replace);
}
return _navigateTo(context,
"${Routes.plan_dish_edit_page}?isMine=${isMine}&isEdit=${isEdit}",
replace: replace);
... ...
... ... @@ -150,6 +150,7 @@ import 'package:one_key/utils/utils.dart';
import 'package:provider/provider.dart';
import '../models/get_banquet_by_id_new_model.dart';
import '../models/plan_cook_list_model.dart';
import '../models/set_xuan_tai_model.dart';
import '../models/setmeal_by_id_model.dart';
import '../pages/feast/feast_board.dart';
... ... @@ -2050,8 +2051,15 @@ var planDishEidtPageHandle = new Handler(
// }
bool isMine = FluroConvertUtils.string2bool(params["isMine"].first);
bool isEdit = FluroConvertUtils.string2bool(params["isEdit"].first);
SunListPlan sunListPlan;
if (params.keys.contains('sunList')) {
sunListPlan = SunListPlan.fromJson(json.decode(
FluroConvertUtils.fluroCnParamsDecode(params["sunList"].first)));
}
return ChangeNotifierProvider<PlanDishProvider>(
create: (_) => PlanDishProvider(),
child: PlanDishEidtPage(isMine: isMine, isEdit: isEdit));
child: PlanDishEidtPage(
isMine: isMine, isEdit: isEdit, sunListPlan: sunListPlan));
});
... ...