Commit 5c3336938b86114001092d111d253f1698802e2c

Authored by wdn127929
1 parent 8a3632f1

桌位区域顺序设置

... ... @@ -3,13 +3,15 @@ class Area {
String name;
int count;
String rid;
String orderId;
Area();
factory Area.fromJson(Map<String, dynamic> json) => Area()
..name = json["name"]
..count = json["count"];
..count = json["count"]
..orderId = json['order_id'];
Map<String, dynamic> toJson() =>
<String, dynamic>{"name": name, "count": count};
<String, dynamic>{"name": name, "count": count, 'order_id': orderId};
}
... ...
... ... @@ -8,6 +8,7 @@ class TableOuter {
bool isSelect = false; //批量选择桌位
bool isAll = false; //全选
List<t.Table> selectTables = []; //选择的桌位
String orderId;
// bool get isAll {
// return list.every((element) => element.selected);
... ...
... ... @@ -506,4 +506,7 @@ class HttpUrl {
static const String sort_by_region =
"?service=App.Tables.SortByRegion"; // 区域排序
static const String sort_by_table =
"?service=App.Tables.SortByTable"; // 区域内桌位排序
}
... ...
... ... @@ -592,6 +592,7 @@ class SelectTableFPageState extends State<SelectTableFPage> {
area.name = outer.name;
area.count = outer.list.length == 0 ? -1 : count;
area.rid = outer.list.length == 0 ? outer.rid : outer.list[0].rid;
area.orderId = outer.orderId;
areas.add(area);
}
_chooseTableModel.tablesCanNote = tempTableAll;
... ...
... ... @@ -1058,22 +1058,27 @@ class _FeastCreatePageState extends State<FeastCreatePage> {
}),
_selectWidget('跟单人', gdShow, onTap: () {
FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘
DialogUtil.showSelectCusmanDialog(
context,
feastModel.personnalList.map((item) {
return item.title;
}).toList(), (value) {
if (value != null) {
setState(() {
gdSelIndex = value.first;
gdShow = feastModel.personnalList[gdSelIndex].title;
});
}
},
cancelText: '',
title: '选择经理',
selecteds: gdSelIndex == null ? [] : [gdSelIndex])
.then((value) {});
if (feastModel.personnalList != null &&
feastModel.personnalList.length > 0) {
DialogUtil.showSelectCusmanDialog(
context,
feastModel.personnalList.map((item) {
return item.title;
}).toList(), (value) {
if (value != null) {
setState(() {
gdSelIndex = value.first;
gdShow = feastModel.personnalList[gdSelIndex].title;
});
}
},
cancelText: '',
title: '选择经理',
selecteds: gdSelIndex == null ? [] : [gdSelIndex])
.then((value) {});
} else {
Utils.showToast('暂时没有跟单人,请在我的-宴会管理-宴会员工去设置');
}
}),
_selectWidget('宴会类型', feastTypeShow, onTap: () {
FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘
... ...
... ... @@ -293,6 +293,7 @@ class FeastSelectTablePageState extends State<FeastSelectTablePage> {
area.name = outer.name;
area.count = outer.list.length == 0 ? -1 : count;
area.rid = outer.list.length == 0 ? outer.rid : outer.list[0].rid;
area.orderId = outer.orderId;
areas.add(area);
}
_chooseTableModel.tablesCanNote = tempTableAll;
... ...
... ... @@ -336,6 +336,7 @@ class PhotoManagerPageState extends State<PhotoManagerPage> {
area.name = outer.name;
area.count = outer.list.length == 0 ? -1 : count;
area.rid = outer.list.length == 0 ? outer.rid : outer.list[0].rid;
area.orderId = outer.orderId;
areas.add(area);
}
_chooseTableModel.tablesCanNote = tempTableAll;
... ...
... ... @@ -372,6 +372,7 @@ class MergeTableSelectPageState extends State<MergeTableSelectPage> {
area.name = outer.name;
area.count = outer.list.length == 0 ? -1 : count;
area.rid = outer.list.length == 0 ? outer.rid : outer.list[0].rid;
area.orderId = outer.orderId;
areas.add(area);
}
_chooseTableModel.tablesCanNote = tempTableAll;
... ...
... ... @@ -76,110 +76,50 @@ class _MyAreaManagePageState extends State<MyAreaManagePage> {
emptyImg: "table_manage_empty",
showMsg: "加载中,请稍后...",
)
: ReorderableListView(
children: <Widget>[
for (Area item in tableManagerModel.areas)
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: [
Expanded(
child: InkWell(
onTap: () async {
//修改区域弹框
await DialogUtil
.openTableManageCreateAreaDialog(
context,
title: '修改区域',
content: item.name,
onTap: (value) async {
print(value);
//添加区域
bool success = await tableManagerModel
.setTableRegionById(
context, value, item.rid);
print(success);
if (success) {
Utils.showToast('修改成功!');
tableManagerModel.currentArea = value;
// TableManagerModel tableManagerModel1 =
// Provider.of<TableManagerModel>(
// context,
// listen: false);
// tableManagerModel1.getTableList(
// context,
// needLoading: false,
// );
await tableManagerModel
.refreshTable(context);
EventBus().emit("refresh_table_area");
// await tableManagerModel
// .getTableList(context,
// needLoading: false);
// tableManagerModel.initData();
// setState(() {
// updateMenu();
// });
// _scrollToIndex(widget
// .tableManagerModel
// .areas
// .length);
}
});
},
child: Text(item.name,
style: TextStyle(
color: MyColours.color_000000,
fontSize:
ScreenUtil().setSp(32))))),
InkWell(
onTap: () {
DialogUtil.cupertinoAlertDialog(context,
title: "",
content: "是否确定删除该区域",
lTitle: "取消",
rTitle: "确认删除",
isBold: true,
isBoldContent: true,
rColor: MyColours.color_E34D59,
lCallback: () {
print("取消");
}, rCallback: () async {
: Padding(
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(32),
vertical: ScreenUtil().setWidth(54)),
child: ReorderableListView(
children: <Widget>[
for (Area item in tableManagerModel.areas)
Container(
key: ValueKey(item),
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: [
Expanded(
child: InkWell(
highlightColor: MyColours.color_ffffff,
onTap: () async {
//修改区域弹框
await DialogUtil
.openTableManageCreateAreaDialog(context,
title: '修改区域', content: item.name,
onTap: (value) async {
print(value);
//添加区域
bool success = await tableManagerModel
.delTableRegion(context, item.rid);
.setTableRegionById(
context, value, item.rid);
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));
Utils.showToast('修改成功!');
tableManagerModel.currentArea = value;
// await tableManagerModel
// .getTableList(context);
// await tableManagerModel
// .initData();
// TableManagerModel tableManagerModel =
// Provider.of<TableManagerModel>(context,
// TableManagerModel tableManagerModel1 =
// Provider.of<TableManagerModel>(
// context,
// listen: false);
// tableManagerModel.getTableList(
// tableManagerModel1.getTableList(
// context,
// needLoading: false,
// );
... ... @@ -187,27 +127,104 @@ class _MyAreaManagePageState extends State<MyAreaManagePage> {
await tableManagerModel
.refreshTable(context);
EventBus().emit("refresh_table_area");
// await tableManagerModel
// .getTableList(context,
// needLoading: false);
// tableManagerModel.initData();
// setState(() {
// updateMenu();
// });
// _scrollToIndex(widget
// .tableManagerModel
// .areas
// .length);
}
});
},
child: Text('删除',
child: Text(item.name,
style: TextStyle(
color: MyColours.color_438E93,
decoration: TextDecoration.underline,
fontSize: ScreenUtil().setSp(32))))
],
),
)
],
onReorder: (int oldIndex, int newIndex) {
if (oldIndex < newIndex) {
newIndex -= 1;
}
var child = tableManagerModel.areas.removeAt(oldIndex);
tableManagerModel.areas.insert(newIndex, child);
setState(() {});
},
);
color: MyColours.color_000000,
fontSize: ScreenUtil().setSp(32))),
)),
InkWell(
onTap: () {
DialogUtil.cupertinoAlertDialog(context,
title: "",
content: "是否确定删除该区域",
lTitle: "取消",
rTitle: "确认删除",
isBold: true,
isBoldContent: true,
rColor: MyColours.color_E34D59,
lCallback: () {
print("取消");
}, rCallback: () async {
bool success = await tableManagerModel
.delTableRegion(context, item.rid);
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();
// TableManagerModel tableManagerModel =
// Provider.of<TableManagerModel>(context,
// listen: false);
// tableManagerModel.getTableList(
// context,
// needLoading: false,
// );
await tableManagerModel
.refreshTable(context);
EventBus().emit("refresh_table_area");
}
});
},
child: Text('删除',
style: TextStyle(
color: MyColours.color_438E93,
decoration: TextDecoration.underline,
fontSize: ScreenUtil().setSp(32))))
],
),
)
],
onReorder: (int oldIndex, int newIndex) async {
if (oldIndex < newIndex) {
newIndex -= 1;
}
var childold = tableManagerModel.areas[oldIndex];
Map<String, String> params = {
'sid': Provider.of<UserModel>(context, listen: false)
.user
.sellerid,
'regionid': childold.rid,
'order_o': tableManagerModel.areas[newIndex].orderId,
'sort': oldIndex < newIndex ? '2' : '1'
};
var child = tableManagerModel.areas.removeAt(oldIndex);
tableManagerModel.areas.insert(newIndex, child);
setState(() {});
await tableManagerModel.sortByRegion(context, params);
//刷新前一页数据
bus.emit('refresh_table_area');
},
));
// ListView.builder(
// padding: EdgeInsets.symmetric(
... ...
... ... @@ -590,15 +590,20 @@ class MyTableManagerHomePageState extends State<MyTableManagerHomePage> {
}
//
Future<bool> _setTableByIdOrder(int beforeIndex, int afterIndex) async {
Future<bool> _setTableByIdOrder(int oldIndex, int newIndex) async {
t.Table move = tableManagerModel
.tableOuterList[tableManagerModel.selectNumber].list[beforeIndex];
.tableOuterList[tableManagerModel.selectNumber].list[oldIndex];
t.Table after = tableManagerModel
.tableOuterList[tableManagerModel.selectNumber].list[afterIndex];
Map<String, String> params = {'id': move.id, 'order': after.order_o};
bool success = await tableManagerModel.setTableById(context, params);
.tableOuterList[tableManagerModel.selectNumber].list[newIndex];
Map<String, String> params = {
'sid': Provider.of<UserModel>(context, listen: false).user.sellerid,
'regionid': move.rid,
'order_o': after.order_o,
'tableid': move.id,
'sort': oldIndex < newIndex ? '2' : '1'
};
bool success = await tableManagerModel.sortByTable(context, params);
if (success) {
return true;
} else {
... ...
... ... @@ -186,6 +186,7 @@ class SelectTablePageState extends State<SelectTablePage> {
area.name = outer.name;
area.count = count;
area.rid = outer.list.length == 0 ? outer.rid : outer.list[0].rid;
area.orderId = outer.orderId;
areas.add(area);
}
if (widget.tid == '') {
... ...
... ... @@ -32,7 +32,6 @@ class ChooseTableModel with ChangeNotifier {
List<t.Table> tablesShow = []; //页面展示
List<FeastBoardModel> banquetByDateData = []; //宴会看板数据/宴会预订的数据
//指定日期、时段宴会预定
... ... @@ -122,6 +121,12 @@ class ChooseTableModel with ChangeNotifier {
tableOuter.list = enableList.map((table) {
return t.Table.fromJson(table as Map<String, dynamic>);
}).toList();
try {
tableOuter.list.sort(((a, b) =>
int.parse(a.order_o).compareTo(int.parse(b.order_o)))); //排序
} catch (e) {
print(e);
}
return tableOuter;
}).toList();
... ... @@ -149,11 +154,27 @@ class ChooseTableModel with ChangeNotifier {
tableOuter.name = item;
tableOuter.list = [];
tableOuter.rid = itemarea.id;
tableOuter.orderId = itemarea.orderO;
tableOuterList.add(tableOuter); //区域信息包含有桌子和没有桌子两部分类型
}
}
}
}
for (AreaSunModel itemarea in areaSunModelList) {
for (TableOuter itemto in tableOuterList) {
if (itemto.name == itemarea.name) {
itemto.orderId = itemarea.orderO;
itemto.rid = itemarea.id;
}
}
}
print(tableOuterList);
try {
tableOuterList.sort(((a, b) =>
int.parse(a.orderId).compareTo(int.parse(b.orderId)))); //排序
} catch (e) {}
print(tableOuterList);
}
}
... ... @@ -217,6 +238,10 @@ class ChooseTableModel with ChangeNotifier {
return areaSunModelList;
} else if (baseResp.data.length > 0) {
areaSunModelList = AreaModel.fromJson(baseResp.responseData).data;
try {
areaSunModelList.sort(((a, b) =>
int.parse(a.orderO).compareTo(int.parse(b.orderO)))); //排序
} catch (e) {}
}
}
return areaSunModelList;
... ...
... ... @@ -996,7 +996,9 @@ class FeastModel extends ChangeNotifier {
data.forEach((element) {
getPersonnalList.add(element.userId);
FilterBtnModel model = returnModelStaff(element);
personnalList.add(model);
if (model.account != null) {
personnalList.add(model);
}
});
return true;
} else {
... ...
... ... @@ -123,8 +123,11 @@ class MyTableManageHomeModel with ChangeNotifier {
tableOuter.list = enableList.map((table) {
return t.Table.fromJson(table as Map<String, dynamic>);
}).toList();
tableOuter.list.sort(((a, b) =>
int.parse(a.order_o).compareTo(int.parse(b.order_o)))); //排序
try {
tableOuter.list.sort(((a, b) =>
int.parse(a.order_o).compareTo(int.parse(b.order_o)))); //排序
} catch (e) {}
print(tableOuter.list);
// tableOuter.list = tableOuter.list.reversed.toList();
// print(tableOuter.list);
... ... @@ -153,11 +156,29 @@ class MyTableManageHomeModel with ChangeNotifier {
tableOuter.name = item;
tableOuter.list = [];
tableOuter.rid = itemarea.id;
tableOuter.orderId = itemarea.orderO;
tableOuterList.add(tableOuter); //区域信息包含有桌子和没有桌子两部分类型
}
}
}
}
for (AreaSunModel itemarea in areaSunModelList) {
for (TableOuter itemto in tableOuterList) {
if (itemto.name == itemarea.name) {
itemto.orderId = itemarea.orderO;
itemto.rid = itemarea.id;
}
}
}
print(tableOuterList);
try {
tableOuterList.sort(((a, b) =>
int.parse(a.orderId).compareTo(int.parse(b.orderId)))); //排序
} catch (e) {
print(e);
}
print(tableOuterList);
}
if (tableOuterList.length == 0) {
pageState = PageState.Success;
... ... @@ -189,6 +210,7 @@ class MyTableManageHomeModel with ChangeNotifier {
area.name = outer.name;
area.count = outer.list.length == 0 ? -1 : count;
area.rid = outer.list.length == 0 ? outer.rid : outer.list[0].rid;
area.orderId = outer.orderId;
areas.add(area);
}
... ... @@ -233,11 +255,31 @@ class MyTableManageHomeModel with ChangeNotifier {
.catchError((error) {
print(error.toString());
});
if (baseResp == null) return null;
if (baseResp == null) return false;
if (baseResp.code == Constant.status_success) {
return baseResp.data;
Utils.showToast('设置成功');
return true;
} else {
Utils.showToast(baseResp.msg);
return false;
}
}
// 区域排序
Future<dynamic> sortByTable(
BuildContext context, Map<String, String> params) async {
BaseResp<dynamic> baseResp = await DioUtil()
.request<dynamic>(context, Method.get, HttpUrl.sort_by_table,
data: params, showLoading: true)
.catchError((error) {
print(error.toString());
});
if (baseResp == null) return false;
if (baseResp.code == Constant.status_success) {
return true;
} else {
Utils.showToast(baseResp.msg);
return false;
}
}
... ... @@ -391,8 +433,10 @@ class MyTableManageHomeModel with ChangeNotifier {
return areaSunModelList;
} else if (baseResp.data.length > 0) {
areaSunModelList = AreaModel.fromJson(baseResp.responseData).data;
areaSunModelList.sort(((a, b) =>
int.parse(a.orderO).compareTo(int.parse(b.orderO)))); //排序
try {
areaSunModelList.sort(((a, b) =>
int.parse(a.orderO).compareTo(int.parse(b.orderO)))); //排序
} catch (e) {}
}
}
return areaSunModelList;
... ...
... ... @@ -657,6 +657,13 @@ class TableManagerModel with ChangeNotifier {
tableOuter.list = enableList.map((table) {
return t.Table.fromJson(table as Map<String, dynamic>);
}).toList();
try {
tableOuter.list.sort(((a, b) =>
int.parse(a.order_o).compareTo(int.parse(b.order_o)))); //排序
} catch (e) {
print(e);
}
tablesAll.addAll(tableOuter.list);
return tableOuter;
}).toList();
... ... @@ -682,12 +689,32 @@ class TableManagerModel with ChangeNotifier {
TableOuter tableOuter = TableOuter();
tableOuter.name = item;
tableOuter.list = [];
tableOuter.rid = itemarea.id;
tableOuter.orderId = itemarea.orderO;
tableOuterList.add(tableOuter); //区域信息包含有桌子和没有桌子两部分类型
}
}
}
}
for (AreaSunModel itemarea in areaSunModelList) {
for (TableOuter itemto in tableOuterList) {
if (itemto.name == itemarea.name) {
itemto.orderId = itemarea.orderO;
itemto.rid = itemarea.id;
}
}
}
print(tableOuterList);
try {
tableOuterList.sort(((a, b) =>
int.parse(a.orderId).compareTo(int.parse(b.orderId)))); //排序
} catch (e) {
print(e);
}
print(tableOuterList);
}
App.sp.setString('table_list', json.encode(tableOuterList));
... ... @@ -1116,6 +1143,7 @@ class TableManagerModel with ChangeNotifier {
area.name = outer.name;
area.count = outer.list.length == 0 ? -1 : count;
area.rid = outer.list.length == 0 ? outer.rid : outer.list[0].rid;
area.orderId = outer.orderId;
areas.add(area);
}
tablesCanNote = tempTableAll;
... ... @@ -1348,6 +1376,10 @@ class TableManagerModel with ChangeNotifier {
return areaSunModelList;
} else if (baseResp.data.length > 0) {
areaSunModelList = AreaModel.fromJson(baseResp.responseData).data;
try {
areaSunModelList.sort(((a, b) =>
int.parse(a.orderO).compareTo(int.parse(b.orderO)))); //排序
} catch (e) {}
}
}
return areaSunModelList;
... ...