Commit 36976ac9e907e3d5ba48854858c315db6960bbfd

Authored by wdn127929
1 parent be91dd89

区域变更OK

import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/constant/state.dart';
import 'package:one_key/models/area.dart';
import 'package:one_key/provider/my_table_manage_home_model.dart';
import 'package:one_key/provider/user_model.dart';
import 'package:one_key/res/colors.dart';
import 'package:one_key/utils/dialog_util.dart';
import 'package:one_key/utils/event_bus.dart';
import 'package:one_key/utils/utils.dart';
import 'package:one_key/widgets/h_empty_view.dart';
import 'package:one_key/widgets/page_exception.dart';
import 'package:one_key/widgets/system_app_bar.dart';
import 'package:provider/provider.dart';
import '../../../provider/table_manager_model.dart';
import '../../../utils/screen_util.dart';
import '../../../widgets/round_button.dart';
/*
**** 区域选择管理
*/
class AreasSelectPage extends StatefulWidget {
final String rid;
final String name;
AreasSelectPage({Key key, this.rid, this.name}) : super(key: key);
@override
_AreasSelectPageState createState() => _AreasSelectPageState();
}
class _AreasSelectPageState extends State<AreasSelectPage> {
MyTableManageHomeModel tableManagerModel;
String rid;
String name;
@override
void initState() {
// TODO: implement initState
super.initState();
rid = widget.rid;
WidgetsBinding.instance.addPostFrameCallback((_) {
tableManagerModel.initTime(context);
// EventBus().on("refresh_tablemanager", (arg) {
// //订座-完成预订 刷新管理桌位
// tableManagerModel.getReserveList(context,
// needLoading: false, needKeep: true);
// print(tableManagerModel);
// });
// EventBus().on("refresh_tablePhoto", (arg) {
// ///刷新图片显示
// _refreshTablePhoto();
// });
});
}
@override
Widget build(BuildContext context) {
tableManagerModel =
Provider.of<MyTableManageHomeModel>(context, listen: true);
return Scaffold(
resizeToAvoidBottomInset: false, //输入框抵住键盘
appBar: SystemAppBar(
"区域选择",
showLeading: true,
onTap: () {
Navigator.pop(context);
},
),
backgroundColor: MyColours.color_ffffff,
body: SafeArea(child:
Consumer<MyTableManageHomeModel>(builder: (context, model, child) {
return model.pageState != PageState.Success
? ExceptionPage(
pageState: model.pageState,
callback: () {
// if (tableManagerModel.tableOuterList.isEmpty) {
// tableManagerModel.getTableList(context);
// } else {
// tableManagerModel.getReserveList(context);
// }
},
emptyMsg: "暂时没有区域数据哦",
emptyImg: "table_manage_empty",
showMsg: "加载中,请稍后...",
)
: Column(
children: [
Expanded(
child: ListView.builder(
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(32),
vertical: ScreenUtil().setWidth(54)),
itemCount: tableManagerModel.areas.length,
shrinkWrap: true,
// scrollDirection: Axis.horizontal,
itemBuilder: (BuildContext contxt, int index) {
Area area = tableManagerModel.areas[index];
return InkWell(
onTap: () async {
if (rid == area.rid) {
return;
}
rid = area.rid;
name = area.name;
setState(() {});
},
child: Container(
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(16),
vertical: ScreenUtil().setWidth(30)),
decoration: BoxDecoration(
border: Border(
bottom: BorderSide(
width: ScreenUtil().setWidth(2),
color:
MyColours.color_E7E7E7))),
child: Row(
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
children: [
Image.asset(
Utils.getImgPath(rid == area.rid
? 'select'
: 'unselect'),
width: w(20),
),
HEmptyView(30),
Expanded(
child: Text(area.name,
// textAlign: TextAlign.end,
style: TextStyle(
color:
MyColours.color_000000,
fontSize: ScreenUtil()
.setSp(32)))),
],
),
));
})),
Container(
color: MyColours.color_ffffff,
padding: EdgeInsets.symmetric(horizontal: w(48)),
margin: EdgeInsets.only(bottom: w(35), top: w(25)),
child: RoundButton(
// content: widget.fromPage == 'tablePhoto'
// ? '确定'
// : "已选${selectNum}个 确定",
text: '确定',
// width: w(128),
height: w(40),
radius: r(4),
isBold: false,
gradientStart: MyColours.color_438E93,
gradientEnd: MyColours.color_438E93,
fontSize: 28,
textColor: MyColours.color_ffffff,
onPressed: () {
// // if (widget.fromPage == "tablePhoto") {
// // Map temp = {
// // 'tid': selectTables.length > 0
// // ? selectTables[0].id
// // : '',
// // 'tname': selectTables.length > 0
// // ? selectTables[0].name
// // : ''
// // };
// // Navigator.of(context).pop(temp);
// // } else {
// if (widget.canChoose) {
// // // if (widget.tableList.length > 0) {
// // String tid = "";
// // for (TableList table
// // in widget.tableList) {
// // tid += table.id + ",";
// // }
// // if (widget.tableList.length > 0) {
// // tid = tid.substring(
// // 0, tid.length - 1);
// // }
Map temp = {
'rid': rid,
'name':name
};
Navigator.of(context).pop(temp);
// // // }
// // } else {
// String tid = "";
// for (t.Table table in selectTables) {
// tid += table.id + ",";
// }
// if (selectTables.length > 0) {
// tid = tid.substring(0, tid.length - 1);
// }
// Map temp = {'object': selectTables, 'tid': tid};
// Navigator.of(context).pop(temp);
// }
// }
},
),
)
],
);
})));
}
}
... ...
... ... @@ -125,7 +125,8 @@ class MyTableManagerHomePageState extends State<MyTableManagerHomePage> {
Map<String, String> params = {
'id': table.id,
'name': value['name'],
'tid': tid
'tid': tid,
'rid':value['rid']
};
if (value['pnumMin'] != '') {
... ...
... ... @@ -109,7 +109,11 @@ class MyTableManageHomeModel with ChangeNotifier {
tableOuterList = (baseResp.data[0] as List).map((value) {
TableOuter tableOuter = TableOuter();
tableOuter.name = value["name"];
List tableOuterList = value["list"] as List;
if (tableOuterList.length > 0) {
tableOuter.rid = tableOuterList[0]['rid'];
}
List enableList = []; //删除已停用的桌子,剩余可用的桌子
tableOuterList.forEach((element) {
if (element['enable'] != '0') {
... ...
... ... @@ -1871,4 +1871,15 @@ class NavigatorUtil {
return _navigateTo(context, "${Routes.verify_food_page}?rid=$rid",
replace: replace);
}
///区域选择页面
static Future<dynamic> goAreasSelectPage(
BuildContext context,
String rid, String name,{
replace = false,
}) {
return _navigateTo(
context, "${Routes.areas_select_page}?rid=$rid&name=$name",
replace: replace);
}
}
... ...
... ... @@ -112,6 +112,7 @@ import 'package:one_key/pages/my/store_base_info_page.dart';
import 'package:one_key/pages/my/store_base_info_page_old.dart';
import 'package:one_key/pages/my/store_type_fill_manage_page.dart';
import 'package:one_key/pages/my/store_wine_manage/create_store_wine_page.dart';
import 'package:one_key/pages/my/table_manage/areas_select_page.dart';
import 'package:one_key/pages/my/table_manage/my_areas_manage_page.dart';
import 'package:one_key/pages/my/table_manage/my_table_manage_home_page.dart';
import 'package:one_key/pages/notebook/statistics_page.dart';
... ... @@ -3167,7 +3168,16 @@ var bookDepositPageHandle = new Handler(
//核餐确认
var verifyFoodPageHandle = new Handler(
handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
String rid = params["rid"].first;
String rid = params["rid"].first;
return ChangeNotifierProvider<NotebookDetailModel>(
create: (_) => NotebookDetailModel(), child: VerifyFoodPage(rid:rid));
create: (_) => NotebookDetailModel(), child: VerifyFoodPage(rid: rid));
});
//区域选择页面
var areasSelectPageHandle = new Handler(
handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
String rid = params["rid"].first;
String name = params["name"].first;
return ChangeNotifierProvider<MyTableManageHomeModel>(
create: (_) => MyTableManageHomeModel(), child: AreasSelectPage(rid:rid,name:name));
});
... ...
... ... @@ -299,12 +299,11 @@ class Routes {
static String invitation_theme_home_preview_page =
"/invitation_theme_home_preview_page"; //邀请函主题选择预览页
static String book_deposit_page =
"/book_deposit_page"; //预订订金
static String verify_food_page =
"/verify_food_page"; //核餐确认
static String book_deposit_page = "/book_deposit_page"; //预订订金
static String verify_food_page = "/verify_food_page"; //核餐确认
static String areas_select_page = "/areas_select_page"; //区域选择页面
static void configureRoutes(FluroRouter router) {
router.notFoundHandler = new Handler(
... ... @@ -563,16 +562,11 @@ static String verify_food_page =
router.define(invitation_theme_home_page,
handler: invitationThemeHomePageHandle);
router.define(invitation_theme_home_preview_page,
router.define(invitation_theme_home_preview_page,
handler: invitationThemeHomePreviewPageHandle);
router.define(book_deposit_page,
handler: bookDepositPageHandle);
router.define(verify_food_page,
handler: verifyFoodPageHandle);
router.define(book_deposit_page, handler: bookDepositPageHandle);
router.define(verify_food_page, handler: verifyFoodPageHandle);
router.define(areas_select_page, handler: areasSelectPageHandle);
}
}
... ...
... ... @@ -3590,6 +3590,10 @@ class DialogUtil {
? 0
: baojianList.indexWhere((element) => element == tidStr) ?? 0;
String baojian = baojianList[currentBaojianIndex];
String rid = table.rid;
String areaName = table.rname;
// StateSetter globalState;
// //输入框焦点
// focusNode.addListener(() {
... ... @@ -3832,13 +3836,19 @@ class DialogUtil {
// return;
// }
// //跳转到被合并桌位展示页面
// Map object;
// if (selectTables.length > 0) {
// object = await NavigatorUtil
// .goMergeTableSelectPage(context,
// tableidNow: tableid,
// tids: table.tids,
// object: {'object': selectTables});
Map object =
await NavigatorUtil.goAreasSelectPage(
context,
table.rid,
table.name
);
if (object != null) {
state(() {
rid = object['rid'];
areaName = object['name'];
});
}
// } else {
// object = await NavigatorUtil
// .goMergeTableSelectPage(
... ... @@ -3886,7 +3896,7 @@ class DialogUtil {
HEmptyView(40),
Expanded(
child: Text(
table.rname??'ff',
areaName,
maxLines: 1,
textAlign: TextAlign.right,
overflow: TextOverflow.ellipsis,
... ... @@ -4203,7 +4213,8 @@ class DialogUtil {
'pnumMin': pnumMin,
'pnumMax': pnumMax,
'isMerge': isMerge,
'tids': tids
'tids': tids,
'rid': rid
});
Navigator.pop(context);
}),
... ...