Commit 2af48744041e533097353351eb71bfe11d9bd954

Authored by wdn127929
1 parent c23a6edd

部分桌位管理

... ... @@ -5,6 +5,7 @@ class TableOuter {
List<Table> list;
String rid;
bool isSelect = false; //批量选择桌位
bool isAll = false; //全选
TableOuter();
... ...
... ... @@ -21,6 +21,7 @@ import 'package:one_key/utils/event_bus.dart';
import 'package:one_key/route/navigator_util.dart';
import 'package:one_key/utils/utils.dart';
import 'package:one_key/widgets/MyDivider.dart';
import 'package:one_key/widgets/common_button.dart';
import 'package:one_key/widgets/common_button_flat.dart';
import 'package:one_key/widgets/f_table_item.dart';
... ... @@ -154,90 +155,93 @@ class MyTableManagerHomePageState extends State<MyTableManagerHomePage> {
itemBuilder: (BuildContext context, int index) {
if (index == tableManagerModel.tableOuterList[i].list.length ||
tableManagerModel.tableOuterList[i].list.length == 0) {
return InkWell(
onTap: () async {
List<String> areas = [];
for (int i = 0; i < tableManagerModel.areas.length; i++) {
areas.add(tableManagerModel.areas[i].name);
}
//添加桌位弹框
await DialogUtil.openCreateTableDialog(
context, areas, i, personNumList,
onTap: (Map<String, String> value) async {
print(value);
// 'areaname':
// areas[currentAreaIndex],
// 'name': controller.text,
// 'pnumMin': pnumMin,
// 'pnumMax': pnumMax
//添加桌位 接口参数带整合???
// 以下是旧的不去,明天添加桌位接口
String rid;
for (Area item in tableManagerModel.areas) {
if (item.name == value['areaname']) {
rid = item.rid;
return Offstage(
offstage: tableManagerModel
.tableOuterList[tableManagerModel.selectNumber].isSelect,
child: InkWell(
onTap: () async {
List<String> areas = [];
for (int i = 0; i < tableManagerModel.areas.length; i++) {
areas.add(tableManagerModel.areas[i].name);
}
}
Map<String, String> params = {
'rid': rid,
'name': value['name'],
};
if (value['pnumMin'] != '') {
params['pnum'] = value['pnumMin'];
}
if (value['pnumMax'] != '') {
params['most_pnum'] = value['pnumMax'];
}
bool success =
await tableManagerModel.addTable(context, params);
print(success);
if (success) {
Utils.showToast('添加成功!');
// TableOuter tableOuter = TableOuter();
// tableOuter.name = value;
// tableOuter.list = [];
// tableManagerModel.tableOuterList.add(tableOuter);
// tableManagerModel.initData();
// Timer(
// Duration(milliseconds: 500),
// () => _areaController.jumpTo(
// _areaController.position.maxScrollExtent));
// await tableManagerModel
// .getTableList(context);
// await tableManagerModel
// .initData();
await tableManagerModel.refreshTable(context);
}
});
},
child: Container(
child: DottedBorder(
dashPattern: [8, 8, 8, 8],
borderType: BorderType.RRect,
radius: Radius.circular(ScreenUtil().setWidth(10)),
// padding: EdgeInsets.all(ScreenUtil().setWidth(70)),
color: MyColours.color_438E93,
strokeWidth: ScreenUtil().setWidth(2),
child: ClipRRect(
borderRadius: BorderRadius.all(
Radius.circular(ScreenUtil().setWidth(10))),
//添加桌位弹框
await DialogUtil.openCreateTableDialog(
context, areas, i, personNumList,
onTap: (Map<String, String> value) async {
print(value);
// 'areaname':
// areas[currentAreaIndex],
// 'name': controller.text,
// 'pnumMin': pnumMin,
// 'pnumMax': pnumMax
//添加桌位 接口参数带整合???
// 以下是旧的不去,明天添加桌位接口
String rid;
for (Area item in tableManagerModel.areas) {
if (item.name == value['areaname']) {
rid = item.rid;
}
}
Map<String, String> params = {
'rid': rid,
'name': value['name'],
};
if (value['pnumMin'] != '') {
params['pnum'] = value['pnumMin'];
}
if (value['pnumMax'] != '') {
params['most_pnum'] = value['pnumMax'];
}
bool success =
await tableManagerModel.addTable(context, params);
print(success);
if (success) {
Utils.showToast('添加成功!');
// TableOuter tableOuter = TableOuter();
// tableOuter.name = value;
// tableOuter.list = [];
// tableManagerModel.tableOuterList.add(tableOuter);
// tableManagerModel.initData();
// Timer(
// Duration(milliseconds: 500),
// () => _areaController.jumpTo(
// _areaController.position.maxScrollExtent));
// await tableManagerModel
// .getTableList(context);
// await tableManagerModel
// .initData();
await tableManagerModel.refreshTable(context);
}
});
},
child: Container(
height: ScreenUtil.screenWidthDp -
ScreenUtil().setWidth(48 * 3 + 32 * 2),
width: ScreenUtil.screenWidthDp -
ScreenUtil().setWidth(48 * 3 + 32 * 2),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Image.asset(Utils.getImgPath('add_area'),
width: ScreenUtil().setWidth(60)),
],
child: DottedBorder(
dashPattern: [8, 8, 8, 8],
borderType: BorderType.RRect,
radius: Radius.circular(ScreenUtil().setWidth(10)),
// padding: EdgeInsets.all(ScreenUtil().setWidth(70)),
color: MyColours.color_438E93,
strokeWidth: ScreenUtil().setWidth(2),
child: ClipRRect(
borderRadius: BorderRadius.all(
Radius.circular(ScreenUtil().setWidth(10))),
child: Container(
height: ScreenUtil.screenWidthDp -
ScreenUtil().setWidth(48 * 3 + 32 * 2),
width: ScreenUtil.screenWidthDp -
ScreenUtil().setWidth(48 * 3 + 32 * 2),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Image.asset(Utils.getImgPath('add_area'),
width: ScreenUtil().setWidth(60)),
],
),
),
),
),
),
)));
))));
} else {
return Selector<MyTableManageHomeModel, t.Table>(
shouldRebuild: (pre, next) => true,
... ... @@ -338,89 +342,110 @@ class MyTableManagerHomePageState extends State<MyTableManagerHomePage> {
.areas.length ||
tableManagerModel.areas.length ==
0) {
return InkWell(
onTap: () async {
//添加区域弹框
await DialogUtil
.openCreateAreaDialog(
context,
onTap: (value) async {
print(value);
//添加区域
bool success =
await tableManagerModel
.addTableAreas(
context, value);
print(success);
if (success) {
Utils.showToast('添加成功!');
tableManagerModel
.currentArea = value;
return tableManagerModel
.tableOuterList[
tableManagerModel
.selectNumber]
.isSelect
? SizedBox()
: InkWell(
onTap: () async {
//添加区域弹框
await DialogUtil
.openCreateAreaDialog(
context, onTap:
(value) async {
print(value);
//添加区域
bool success =
await tableManagerModel
.addTableAreas(
context,
value);
print(success);
if (success) {
Utils.showToast(
'添加成功!');
tableManagerModel
.currentArea =
value;
await tableManagerModel
.refreshTable(context);
// await tableManagerModel
// .getTableList(context,
// needLoading: false);
// tableManagerModel.initData();
await tableManagerModel
.refreshTable(
context);
// await tableManagerModel
// .getTableList(context,
// needLoading: false);
// tableManagerModel.initData();
// setState(() {
// updateMenu();
// });
// _scrollToIndex(widget
// .tableManagerModel
// .areas
// .length);
// setState(() {
// updateMenu();
// });
// _scrollToIndex(widget
// .tableManagerModel
// .areas
// .length);
}
});
},
child: Column(
children: [
VEmptyView(20),
DottedBorder(
dashPattern: [2, 2, 2, 2],
borderType:
BorderType.RRect,
radius: Radius.circular(
ScreenUtil()
.setWidth(10)),
// padding: EdgeInsets.all(ScreenUtil().setWidth(70)),
color:
MyColours.color_999999,
strokeWidth: ScreenUtil()
.setWidth(2),
child: ClipRRect(
borderRadius:
BorderRadius.all(
}
});
},
child: Column(
children: [
VEmptyView(20),
DottedBorder(
dashPattern: [
2,
2,
2,
2
],
borderType:
BorderType.RRect,
radius:
Radius.circular(
ScreenUtil()
.setWidth(
10))),
child: Container(
height: ScreenUtil()
.setWidth(28 * 2),
width: ScreenUtil()
.setWidth(48 * 2),
child: Column(
mainAxisAlignment:
MainAxisAlignment
.center,
children: [
Image.asset(
Utils.getImgPath(
'add_store'),
width: ScreenUtil()
.setWidth(
24)),
],
),
),
10)),
// padding: EdgeInsets.all(ScreenUtil().setWidth(70)),
color: MyColours
.color_999999,
strokeWidth:
ScreenUtil()
.setWidth(2),
child: ClipRRect(
borderRadius: BorderRadius.all(
Radius.circular(
ScreenUtil()
.setWidth(
10))),
child: Container(
height:
ScreenUtil()
.setWidth(
28 *
2),
width: ScreenUtil()
.setWidth(
48 * 2),
child: Column(
mainAxisAlignment:
MainAxisAlignment
.center,
children: [
Image.asset(
Utils.getImgPath(
'add_store'),
width: ScreenUtil()
.setWidth(
24)),
],
),
),
),
)
],
),
)
],
),
);
);
} else {
return TableManageAreaItem(
model.areas[index],
... ... @@ -446,8 +471,13 @@ class MyTableManagerHomePageState extends State<MyTableManagerHomePage> {
InkWell(
onTap: () {
if (tableManagerModel
.tableOuterList.length >
0) {
.tableOuterList.length >
0 &&
!tableManagerModel
.tableOuterList[
tableManagerModel
.selectNumber]
.isSelect) {
//区域管理页面跳转
}
},
... ... @@ -470,9 +500,14 @@ class MyTableManagerHomePageState extends State<MyTableManagerHomePage> {
fontSize: ScreenUtil()
.setSp(28),
color: tableManagerModel
.tableOuterList
.length ==
0
.tableOuterList
.length ==
0 ||
tableManagerModel
.tableOuterList[
tableManagerModel
.selectNumber]
.isSelect
? MyColours
.color_BFC4D4
: MyColours
... ... @@ -612,55 +647,130 @@ class MyTableManagerHomePageState extends State<MyTableManagerHomePage> {
.length ==
0
? SizedBox()
: InkWell(
onTap: () {
for (t.Table item
in tableManagerModel
.tableOuterList[
tableManagerModel
.selectNumber]
.list) {
item.selected = false;
}
setState(() {
tableManagerModel
.tableOuterList[
tableManagerModel
.selectNumber]
.isSelect =
!tableManagerModel
.tableOuterList[
tableManagerModel
.selectNumber]
.isSelect;
});
},
child: Row(
children: [
Image.asset(
Utils.getImgPath(tableManagerModel
: Row(children: [
InkWell(
onTap: () {
for (t.Table item
in tableManagerModel
.tableOuterList[
tableManagerModel
.selectNumber]
.isSelect
? 'base_radio_sel'
: 'base_radio_un'),
width: ScreenUtil()
.setWidth(40),
),
HEmptyView(10),
Text(
'批量选择桌位',
style: TextStyle(
fontSize:
.list) {
item.selected =
false;
}
setState(() {
tableManagerModel
.tableOuterList[
tableManagerModel
.selectNumber]
.isSelect =
!tableManagerModel
.tableOuterList[
tableManagerModel
.selectNumber]
.isSelect;
});
},
child: Row(
children: [
Image.asset(
Utils.getImgPath(tableManagerModel
.tableOuterList[
tableManagerModel
.selectNumber]
.isSelect
? 'base_radio_sel'
: 'base_radio_un'),
width:
ScreenUtil()
.setSp(
32),
color: MyColours
.color_000000),
)
],
)),
.setWidth(
40),
),
HEmptyView(10),
Text(
'批量选择桌位',
style: TextStyle(
fontSize:
ScreenUtil()
.setSp(
32),
color: MyColours
.color_000000),
),
],
)),
Spacer(),
tableManagerModel
.tableOuterList[
tableManagerModel
.selectNumber]
.isSelect
? InkWell(
onTap: () {
tableManagerModel
.tableOuterList[
tableManagerModel
.selectNumber]
.isAll =
!tableManagerModel
.tableOuterList[
tableManagerModel
.selectNumber]
.isAll;
if (tableManagerModel
.tableOuterList[
tableManagerModel
.selectNumber]
.isAll) {
for (t.Table item
in tableManagerModel
.tableOuterList[
tableManagerModel.selectNumber]
.list) {
item.selected =
true;
}
} else {
for (t.Table item
in tableManagerModel
.tableOuterList[
tableManagerModel.selectNumber]
.list) {
item.selected =
false;
}
}
setState(() {});
},
child: Row(
crossAxisAlignment:
CrossAxisAlignment
.center,
children: [
Image.asset(
Utils.getImgPath(tableManagerModel
.tableOuterList[tableManagerModel
.selectNumber]
.isAll
? 'mine_radio_sel'
: 'mine_radio_nor'),
width: ScreenUtil()
.setWidth(
34)),
Text(
'全选',
style: TextStyle(
color: MyColours
.color_515151,
fontSize:
ScreenUtil()
.setSp(32)),
)
],
))
: SizedBox()
]),
tableManagerModel
.tableOuterList[
tableManagerModel
... ... @@ -670,10 +780,123 @@ class MyTableManagerHomePageState extends State<MyTableManagerHomePage> {
0
? VEmptyView(20)
: VEmptyView(60),
item(tableManagerModel.selectNumber)
Expanded(
child: item(tableManagerModel
.selectNumber)),
tableManagerModel
.tableOuterList[
tableManagerModel
.selectNumber]
.list
.length ==
0
? Padding(
padding: EdgeInsets.only(
left: ScreenUtil()
.setWidth(50)),
child: Column(
crossAxisAlignment:
CrossAxisAlignment
.start,
children: [
VEmptyView(60),
Row(
children: [
Text(
'1、添加区域(如:一楼、二楼、东厅等)',
style: TextStyle(
decoration:
TextDecoration
.lineThrough,
fontSize: ScreenUtil()
.setSp(
32),
color: MyColours
.color_BFC4D4))
],
),
VEmptyView(40),
Text('2、选择要添加桌位的区域',
style: TextStyle(
fontSize:
ScreenUtil()
.setSp(
32),
color: MyColours
.color_BFC4D4)),
VEmptyView(40),
Text('3、点击“+”号添加桌位',
style: TextStyle(
fontSize:
ScreenUtil()
.setSp(
32),
color: MyColours
.color_BFC4D4)),
VEmptyView(120),
Image.asset(
"assets/empty_search.png",
width: ScreenUtil()
.setWidth(520),
height: ScreenUtil()
.setWidth(384),
),
VEmptyView(40),
],
))
: SizedBox(),
],
))),
]))
])),
model.pageState == PageState.Success &&
tableManagerModel
.tableOuterList[tableManagerModel.selectNumber]
.isSelect
? Padding(
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(48)),
child: Column(
children: [
Row(
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
children: [
CommonButton(
content: "修改名称",
width: 200,
height: 72,
fontSize: 32,
onPress: () async {},
),
CommonButton(
content: "修改人数",
width: 200,
height: 72,
fontSize: 32,
onPress: () async {},
),
CommonButton(
content: "修改类型",
width: 200,
height: 72,
fontSize: 32,
onPress: () async {},
),
],
),
VEmptyView(44),
CommonButton(
content: "删除桌位",
width: 200,
height: 72,
fontSize: 32,
state: -3,
onPress: () async {},
),
VEmptyView(32),
],
))
: SizedBox()
],
);
},
... ...
import 'package:flutter/material.dart';
class MyColours {
static const Color color_E34D59 = Color(0xffE34D59);
static const Color color_515151 = Color(0xff515151);
static const Color color_438E93 = Color(0xff438E93);
static const Color color_27262B = Color(0xff27262B);
... ...
... ... @@ -8,7 +8,7 @@ class CommonButton extends StatelessWidget {
final double width;
final double height;
final double fontSize;
final int state; //-1 不可用 0 默认 1 选中
final int state; //-1 不可用 0 默认 1 选中 -3 红色
final FontWeight fontWeight;
CommonButton(
... ... @@ -65,6 +65,13 @@ class CommonButton extends StatelessWidget {
);
fontColor = MyColours.color_fefefe;
break;
case -3: //红色
boxDecoration = BoxDecoration(
color: MyColours.color_E34D59,
borderRadius: BorderRadius.circular(ScreenUtil().setWidth(10)),
);
fontColor = MyColours.color_ffffff;
break;
default:
boxDecoration = BoxDecoration(
border: Border.all(color: MyColours.color_199095),
... ... @@ -72,7 +79,6 @@ class CommonButton extends StatelessWidget {
);
fontColor = MyColours.color_fefefe;
break;
break;
}
return Material(
child: Ink(
... ...