Showing
7 changed files
with
104 additions
and
46 deletions
| @@ -29,22 +29,22 @@ class PlanCookListModel { | @@ -29,22 +29,22 @@ class PlanCookListModel { | ||
| 29 | } | 29 | } |
| 30 | 30 | ||
| 31 | class PlanCookListSunModel { | 31 | class PlanCookListSunModel { |
| 32 | - List<SunList> packageList; | ||
| 33 | - List<SunList> plancookList; | 32 | + List<SunListPlan> packageList; |
| 33 | + List<SunListPlan> plancookList; | ||
| 34 | 34 | ||
| 35 | PlanCookListSunModel({this.packageList, this.plancookList}); | 35 | PlanCookListSunModel({this.packageList, this.plancookList}); |
| 36 | 36 | ||
| 37 | PlanCookListSunModel.fromJson(Map<String, dynamic> json) { | 37 | PlanCookListSunModel.fromJson(Map<String, dynamic> json) { |
| 38 | if (json['package_list'] != null) { | 38 | if (json['package_list'] != null) { |
| 39 | - packageList = <SunList>[]; | 39 | + packageList = <SunListPlan>[]; |
| 40 | json['package_list'].forEach((v) { | 40 | json['package_list'].forEach((v) { |
| 41 | - packageList.add(new SunList.fromJson(v)); | 41 | + packageList.add(new SunListPlan.fromJson(v)); |
| 42 | }); | 42 | }); |
| 43 | } | 43 | } |
| 44 | if (json['plancook_list'] != null) { | 44 | if (json['plancook_list'] != null) { |
| 45 | - plancookList = <SunList>[]; | 45 | + plancookList = <SunListPlan>[]; |
| 46 | json['plancook_list'].forEach((v) { | 46 | json['plancook_list'].forEach((v) { |
| 47 | - plancookList.add(new SunList.fromJson(v)); | 47 | + plancookList.add(new SunListPlan.fromJson(v)); |
| 48 | }); | 48 | }); |
| 49 | } | 49 | } |
| 50 | } | 50 | } |
| @@ -61,7 +61,7 @@ class PlanCookListSunModel { | @@ -61,7 +61,7 @@ class PlanCookListSunModel { | ||
| 61 | } | 61 | } |
| 62 | } | 62 | } |
| 63 | 63 | ||
| 64 | -class SunList { | 64 | +class SunListPlan { |
| 65 | String id; | 65 | String id; |
| 66 | String sellerid; | 66 | String sellerid; |
| 67 | String uid; | 67 | String uid; |
| @@ -76,7 +76,7 @@ class SunList { | @@ -76,7 +76,7 @@ class SunList { | ||
| 76 | String isDel; | 76 | String isDel; |
| 77 | String cdate; | 77 | String cdate; |
| 78 | 78 | ||
| 79 | - SunList( | 79 | + SunListPlan( |
| 80 | {this.id, | 80 | {this.id, |
| 81 | this.sellerid, | 81 | this.sellerid, |
| 82 | this.uid, | 82 | this.uid, |
| @@ -91,7 +91,7 @@ class SunList { | @@ -91,7 +91,7 @@ class SunList { | ||
| 91 | this.isDel, | 91 | this.isDel, |
| 92 | this.cdate}); | 92 | this.cdate}); |
| 93 | 93 | ||
| 94 | - SunList.fromJson(Map<String, dynamic> json1) { | 94 | + SunListPlan.fromJson(Map<String, dynamic> json1) { |
| 95 | id = json1['id']; | 95 | id = json1['id']; |
| 96 | sellerid = json1['sellerid']; | 96 | sellerid = json1['sellerid']; |
| 97 | uid = json1['uid']; | 97 | uid = json1['uid']; |
| @@ -106,9 +106,15 @@ class SunList { | @@ -106,9 +106,15 @@ class SunList { | ||
| 106 | 106 | ||
| 107 | if (json1['cook_list'] != null) { | 107 | if (json1['cook_list'] != null) { |
| 108 | cookList = <MenuModel>[]; | 108 | cookList = <MenuModel>[]; |
| 109 | - json.decode(json1['cook_list']).forEach((v) { | ||
| 110 | - cookList.add(new MenuModel.fromJson2(v)); | ||
| 111 | - }); | 109 | + if (json1['cook_list'] is List) { |
| 110 | + json1['cook_list'].forEach((v) { | ||
| 111 | + cookList.add(new MenuModel.fromJson2(v)); | ||
| 112 | + }); | ||
| 113 | + } else { | ||
| 114 | + json.decode(json1['cook_list']).forEach((v) { | ||
| 115 | + cookList.add(new MenuModel.fromJson2(v)); | ||
| 116 | + }); | ||
| 117 | + } | ||
| 112 | } | 118 | } |
| 113 | isDel = json1['is_del']; | 119 | isDel = json1['is_del']; |
| 114 | cdate = json1['cdate']; | 120 | cdate = json1['cdate']; |
| @@ -6,6 +6,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; | @@ -6,6 +6,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; | ||
| 6 | import 'package:one_key/provider/plan_dish_provider.dart'; | 6 | import 'package:one_key/provider/plan_dish_provider.dart'; |
| 7 | 7 | ||
| 8 | import '../../../models/cookbook_model.dart'; | 8 | import '../../../models/cookbook_model.dart'; |
| 9 | +import '../../../models/plan_cook_list_model.dart'; | ||
| 9 | import '../../../res/colors.dart'; | 10 | import '../../../res/colors.dart'; |
| 10 | import '../../../utils/screen_util.dart'; | 11 | import '../../../utils/screen_util.dart'; |
| 11 | import '../../../widgets/round_button.dart'; | 12 | import '../../../widgets/round_button.dart'; |
| @@ -40,7 +41,9 @@ import 'package:provider/provider.dart'; | @@ -40,7 +41,9 @@ import 'package:provider/provider.dart'; | ||
| 40 | class PlanDishEidtPage extends StatefulWidget { | 41 | class PlanDishEidtPage extends StatefulWidget { |
| 41 | final bool isMine; | 42 | final bool isMine; |
| 42 | final bool isEdit; | 43 | final bool isEdit; |
| 43 | - PlanDishEidtPage({Key key, this.isMine = false, this.isEdit = true}) | 44 | + final SunListPlan sunListPlan; |
| 45 | + PlanDishEidtPage( | ||
| 46 | + {Key key, this.isMine = false, this.isEdit = true, this.sunListPlan}) | ||
| 44 | : super(key: key); | 47 | : super(key: key); |
| 45 | 48 | ||
| 46 | @override | 49 | @override |
| @@ -84,6 +87,33 @@ class _PlanDishEidtPageState extends State<PlanDishEidtPage> { | @@ -84,6 +87,33 @@ class _PlanDishEidtPageState extends State<PlanDishEidtPage> { | ||
| 84 | } else { | 87 | } else { |
| 85 | labelShow = labelList[labelSelIndex]; | 88 | labelShow = labelList[labelSelIndex]; |
| 86 | } | 89 | } |
| 90 | + if (widget.sunListPlan != null) { | ||
| 91 | + _dishNameEditControl.text = widget.sunListPlan.pname; | ||
| 92 | + if (widget.sunListPlan.type == '1') { | ||
| 93 | + labelShow = '店内通用套餐'; | ||
| 94 | + } else { | ||
| 95 | + labelShow = '自定义排菜单'; | ||
| 96 | + } | ||
| 97 | + swichState = widget.sunListPlan.status == '1' ? true : false; | ||
| 98 | + pNumC.text = widget.sunListPlan.pnum; | ||
| 99 | + pNum = int.parse(widget.sunListPlan.pnum); | ||
| 100 | + priceSum = widget.sunListPlan.menuPrice; | ||
| 101 | + memberPriceSum = widget.sunListPlan.memberPrice; | ||
| 102 | + dishPriceC.text = widget.sunListPlan.planPrice; | ||
| 103 | + menuModel = widget.sunListPlan.cookList; | ||
| 104 | + String dish = ''; | ||
| 105 | + menuModel.forEach((element) { | ||
| 106 | + element.cookbooklist.forEach((cookbook) { | ||
| 107 | + if (cookbook.amount > 0) { | ||
| 108 | + dish += cookbook.name + '、'; | ||
| 109 | + } | ||
| 110 | + }); | ||
| 111 | + }); | ||
| 112 | + if (dish.endsWith('、')) { | ||
| 113 | + dish = dish.substring(0, dish.length - 1); | ||
| 114 | + } | ||
| 115 | + _dishExplainEditControl.text = dish; | ||
| 116 | + } | ||
| 87 | 117 | ||
| 88 | _nameFocusNode.addListener(() { | 118 | _nameFocusNode.addListener(() { |
| 89 | if (_nameFocusNode.hasFocus) { | 119 | if (_nameFocusNode.hasFocus) { |
| @@ -126,6 +156,9 @@ class _PlanDishEidtPageState extends State<PlanDishEidtPage> { | @@ -126,6 +156,9 @@ class _PlanDishEidtPageState extends State<PlanDishEidtPage> { | ||
| 126 | "plan_price": dishPriceC.text, | 156 | "plan_price": dishPriceC.text, |
| 127 | "cook_list": json.encode(menuModel), | 157 | "cook_list": json.encode(menuModel), |
| 128 | }; | 158 | }; |
| 159 | + if (widget.sunListPlan != null) { | ||
| 160 | + params['id'] = widget.sunListPlan.id; | ||
| 161 | + } | ||
| 129 | // if (!widget.isMine) { | 162 | // if (!widget.isMine) { |
| 130 | // params['is_examine'] = swichHexiao ? "1" : "0"; | 163 | // params['is_examine'] = swichHexiao ? "1" : "0"; |
| 131 | // params['uid_list'] = uids; | 164 | // params['uid_list'] = uids; |
| @@ -133,7 +166,7 @@ class _PlanDishEidtPageState extends State<PlanDishEidtPage> { | @@ -133,7 +166,7 @@ class _PlanDishEidtPageState extends State<PlanDishEidtPage> { | ||
| 133 | bool isSuccess = await dishProvider.setPlanCook(context, params); | 166 | bool isSuccess = await dishProvider.setPlanCook(context, params); |
| 134 | if (isSuccess) { | 167 | if (isSuccess) { |
| 135 | //成功之后跳回前一个页面 | 168 | //成功之后跳回前一个页面 |
| 136 | - // bus.emit('refresh_dish_list'); | 169 | + bus.emit('refresh_dish_plan_home_list'); |
| 137 | // EventBus().emit('refresh_dish_invitation'); | 170 | // EventBus().emit('refresh_dish_invitation'); |
| 138 | // bus.emit('refresh_dish_list_f'); | 171 | // bus.emit('refresh_dish_list_f'); |
| 139 | 172 |
| @@ -19,7 +19,7 @@ class PlanDishItem extends StatefulWidget { | @@ -19,7 +19,7 @@ class PlanDishItem extends StatefulWidget { | ||
| 19 | // final String from; | 19 | // final String from; |
| 20 | final VoidCallback onPressedDel; | 20 | final VoidCallback onPressedDel; |
| 21 | final VoidCallback onPressedReUse; | 21 | final VoidCallback onPressedReUse; |
| 22 | - final SunList sunList; | 22 | + final SunListPlan sunList; |
| 23 | // final bool showBtn; | 23 | // final bool showBtn; |
| 24 | // final bool showCheck; | 24 | // final bool showCheck; |
| 25 | PlanDishItem({ | 25 | PlanDishItem({ |
| @@ -52,11 +52,15 @@ class _PlanDishSunPageState extends State<PlanDishSunPage> { | @@ -52,11 +52,15 @@ class _PlanDishSunPageState extends State<PlanDishSunPage> { | ||
| 52 | // _couponNetworkData(widget.index); | 52 | // _couponNetworkData(widget.index); |
| 53 | // }); | 53 | // }); |
| 54 | }); | 54 | }); |
| 55 | + bus.on('refresh_dish_plan_home_list', (arg) { | ||
| 56 | + _getPlanCookList(widget.index, isShowLoading: false); | ||
| 57 | + }); | ||
| 55 | } | 58 | } |
| 56 | 59 | ||
| 57 | @override | 60 | @override |
| 58 | void dispose() { | 61 | void dispose() { |
| 59 | super.dispose(); | 62 | super.dispose(); |
| 63 | + bus.off('refresh_dish_plan_home_list'); | ||
| 60 | } | 64 | } |
| 61 | 65 | ||
| 62 | ///排菜/套餐列表 | 66 | ///排菜/套餐列表 |
| @@ -94,7 +98,7 @@ class _PlanDishSunPageState extends State<PlanDishSunPage> { | @@ -94,7 +98,7 @@ class _PlanDishSunPageState extends State<PlanDishSunPage> { | ||
| 94 | Widget build(BuildContext context) { | 98 | Widget build(BuildContext context) { |
| 95 | planDishProvider = Provider.of<PlanDishProvider>(context, listen: true); | 99 | planDishProvider = Provider.of<PlanDishProvider>(context, listen: true); |
| 96 | PageState pageState; | 100 | PageState pageState; |
| 97 | - List<SunList> data = []; | 101 | + List<SunListPlan> data = []; |
| 98 | if (widget.index == 0) { | 102 | if (widget.index == 0) { |
| 99 | pageState = planDishProvider.pageStateHome; | 103 | pageState = planDishProvider.pageStateHome; |
| 100 | data = planDishProvider.allList; | 104 | data = planDishProvider.allList; |
| @@ -128,27 +132,32 @@ class _PlanDishSunPageState extends State<PlanDishSunPage> { | @@ -128,27 +132,32 @@ class _PlanDishSunPageState extends State<PlanDishSunPage> { | ||
| 128 | SliverList( | 132 | SliverList( |
| 129 | delegate: SliverChildBuilderDelegate( | 133 | delegate: SliverChildBuilderDelegate( |
| 130 | (BuildContext context, int index) { | 134 | (BuildContext context, int index) { |
| 131 | - return PlanDishItem( | ||
| 132 | - // from: 'quan', | ||
| 133 | - sunList:data[index], | ||
| 134 | - // showBtn: true, | ||
| 135 | - onPressedDel: () { | ||
| 136 | - //弹框确认是否删除 | ||
| 137 | - DialogUtil.cupertinoAlertDialog(context, | ||
| 138 | - title: "", | ||
| 139 | - content: "确定要将该排菜删除吗?删除后将无法再次使用该排菜。", | ||
| 140 | - rTitle: "确定", rCallback: () { | ||
| 141 | - // Navigator.pop(context); | ||
| 142 | - // _delGuestInfocDay(model.cday[index].id); | ||
| 143 | - }); | ||
| 144 | - }, | ||
| 145 | - onPressedReUse: () async { | ||
| 146 | - bool needRefresh = await NavigatorUtil.goPlanDishEditPage( | ||
| 147 | - context, | ||
| 148 | - isMine: false, | ||
| 149 | - isEdit: false); | ||
| 150 | - }, | ||
| 151 | - ); | 135 | + return InkWell( |
| 136 | + onTap: () async { | ||
| 137 | + bool needRefresh = | ||
| 138 | + await NavigatorUtil.goPlanDishEditPage(context, | ||
| 139 | + isEdit: true, sunList: data[index]); | ||
| 140 | + }, | ||
| 141 | + child: PlanDishItem( | ||
| 142 | + // from: 'quan', | ||
| 143 | + sunList: data[index], | ||
| 144 | + // showBtn: true, | ||
| 145 | + onPressedDel: () { | ||
| 146 | + //弹框确认是否删除 | ||
| 147 | + DialogUtil.cupertinoAlertDialog(context, | ||
| 148 | + title: "", | ||
| 149 | + content: "确定要将该排菜删除吗?删除后将无法再次使用该排菜。", | ||
| 150 | + rTitle: "确定", rCallback: () { | ||
| 151 | + // Navigator.pop(context); | ||
| 152 | + // _delGuestInfocDay(model.cday[index].id); | ||
| 153 | + }); | ||
| 154 | + }, | ||
| 155 | + onPressedReUse: () async { | ||
| 156 | + bool needRefresh = | ||
| 157 | + await NavigatorUtil.goPlanDishEditPage(context, | ||
| 158 | + isMine: false, isEdit: false); | ||
| 159 | + }, | ||
| 160 | + )); | ||
| 152 | }, childCount: data.length), | 161 | }, childCount: data.length), |
| 153 | ), | 162 | ), |
| 154 | // SliverList( | 163 | // SliverList( |
| @@ -22,9 +22,9 @@ class PlanDishProvider extends ChangeNotifier { | @@ -22,9 +22,9 @@ class PlanDishProvider extends ChangeNotifier { | ||
| 22 | 22 | ||
| 23 | List<MenuModel> menuModel; //菜品数据 | 23 | List<MenuModel> menuModel; //菜品数据 |
| 24 | 24 | ||
| 25 | - List<SunList> allList = []; //排菜套餐列表--全部 | ||
| 26 | - List<SunList> storeList = []; //排菜套餐列表--店铺 | ||
| 27 | - List<SunList> mineList = []; //排菜套餐列表--我的 | 25 | + List<SunListPlan> allList = []; //排菜套餐列表--全部 |
| 26 | + List<SunListPlan> storeList = []; //排菜套餐列表--店铺 | ||
| 27 | + List<SunListPlan> mineList = []; //排菜套餐列表--我的 | ||
| 28 | // List<CookbookCategorySunModel> categorySunModel; //菜品分类数据 | 28 | // List<CookbookCategorySunModel> categorySunModel; //菜品分类数据 |
| 29 | // List<CookbookSpecSunModel> specSunModel; //计价单位 | 29 | // List<CookbookSpecSunModel> specSunModel; //计价单位 |
| 30 | 30 |
| @@ -29,6 +29,7 @@ import '../app.dart'; | @@ -29,6 +29,7 @@ import '../app.dart'; | ||
| 29 | import '../models/get_banquet_by_id_new_model.dart'; | 29 | import '../models/get_banquet_by_id_new_model.dart'; |
| 30 | import '../models/get_banquet_deposit_model.dart'; | 30 | import '../models/get_banquet_deposit_model.dart'; |
| 31 | import '../models/otherset_model.dart'; | 31 | import '../models/otherset_model.dart'; |
| 32 | +import '../models/plan_cook_list_model.dart'; | ||
| 32 | import '../models/set_xuan_tai_model.dart'; | 33 | import '../models/set_xuan_tai_model.dart'; |
| 33 | import '../models/wine_model.dart'; | 34 | import '../models/wine_model.dart'; |
| 34 | 35 | ||
| @@ -1303,16 +1304,17 @@ class NavigatorUtil { | @@ -1303,16 +1304,17 @@ class NavigatorUtil { | ||
| 1303 | ///经理排菜- 编辑页 | 1304 | ///经理排菜- 编辑页 |
| 1304 | 1305 | ||
| 1305 | static Future<dynamic> goPlanDishEditPage(BuildContext context, | 1306 | static Future<dynamic> goPlanDishEditPage(BuildContext context, |
| 1306 | - {replace = false, bool isMine, bool isEdit}) { | 1307 | + {replace = false, bool isMine, bool isEdit, SunListPlan sunList}) { |
| 1307 | // if (invoice != null) { | 1308 | // if (invoice != null) { |
| 1308 | // return _navigateTo(context, | 1309 | // return _navigateTo(context, |
| 1309 | // "${Routes.plan_dish_edit_page}?invoice=${FluroConvertUtils.object2string(invoice)}", | 1310 | // "${Routes.plan_dish_edit_page}?invoice=${FluroConvertUtils.object2string(invoice)}", |
| 1310 | // replace: replace); | 1311 | // replace: replace); |
| 1311 | // } | 1312 | // } |
| 1312 | - // if (object != null) { | ||
| 1313 | - // return _navigateTo(context, | ||
| 1314 | - // "${Routes.plan_dish_edit_page}?tids=$tids&tableidNow=$tableidNow&fromPage=$fromPage&canChoose=$canChoose&object=${FluroConvertUtils.object2string(object)}"); | ||
| 1315 | - // } | 1313 | + if (sunList != null) { |
| 1314 | + return _navigateTo(context, | ||
| 1315 | + "${Routes.plan_dish_edit_page}?sunList=${FluroConvertUtils.object2string(sunList)}&isMine=${isMine}&isEdit=${isEdit}", | ||
| 1316 | + replace: replace); | ||
| 1317 | + } | ||
| 1316 | return _navigateTo(context, | 1318 | return _navigateTo(context, |
| 1317 | "${Routes.plan_dish_edit_page}?isMine=${isMine}&isEdit=${isEdit}", | 1319 | "${Routes.plan_dish_edit_page}?isMine=${isMine}&isEdit=${isEdit}", |
| 1318 | replace: replace); | 1320 | replace: replace); |
| @@ -150,6 +150,7 @@ import 'package:one_key/utils/utils.dart'; | @@ -150,6 +150,7 @@ import 'package:one_key/utils/utils.dart'; | ||
| 150 | import 'package:provider/provider.dart'; | 150 | import 'package:provider/provider.dart'; |
| 151 | 151 | ||
| 152 | import '../models/get_banquet_by_id_new_model.dart'; | 152 | import '../models/get_banquet_by_id_new_model.dart'; |
| 153 | +import '../models/plan_cook_list_model.dart'; | ||
| 153 | import '../models/set_xuan_tai_model.dart'; | 154 | import '../models/set_xuan_tai_model.dart'; |
| 154 | import '../models/setmeal_by_id_model.dart'; | 155 | import '../models/setmeal_by_id_model.dart'; |
| 155 | import '../pages/feast/feast_board.dart'; | 156 | import '../pages/feast/feast_board.dart'; |
| @@ -2050,8 +2051,15 @@ var planDishEidtPageHandle = new Handler( | @@ -2050,8 +2051,15 @@ var planDishEidtPageHandle = new Handler( | ||
| 2050 | // } | 2051 | // } |
| 2051 | bool isMine = FluroConvertUtils.string2bool(params["isMine"].first); | 2052 | bool isMine = FluroConvertUtils.string2bool(params["isMine"].first); |
| 2052 | bool isEdit = FluroConvertUtils.string2bool(params["isEdit"].first); | 2053 | bool isEdit = FluroConvertUtils.string2bool(params["isEdit"].first); |
| 2054 | + SunListPlan sunListPlan; | ||
| 2055 | + | ||
| 2056 | + if (params.keys.contains('sunList')) { | ||
| 2057 | + sunListPlan = SunListPlan.fromJson(json.decode( | ||
| 2058 | + FluroConvertUtils.fluroCnParamsDecode(params["sunList"].first))); | ||
| 2059 | + } | ||
| 2053 | 2060 | ||
| 2054 | return ChangeNotifierProvider<PlanDishProvider>( | 2061 | return ChangeNotifierProvider<PlanDishProvider>( |
| 2055 | create: (_) => PlanDishProvider(), | 2062 | create: (_) => PlanDishProvider(), |
| 2056 | - child: PlanDishEidtPage(isMine: isMine, isEdit: isEdit)); | 2063 | + child: PlanDishEidtPage( |
| 2064 | + isMine: isMine, isEdit: isEdit, sunListPlan: sunListPlan)); | ||
| 2057 | }); | 2065 | }); |
-
Please register or login to post a comment