|
...
|
...
|
@@ -46,13 +46,15 @@ class MergeTableSelectPage extends StatefulWidget { |
|
|
|
final String fromPage;
|
|
|
|
final String tid;
|
|
|
|
final String tableid;
|
|
|
|
final String tids; //用于判断当前桌位选中的桌子,islock == '1',的桌子还可以被选中,不随当前页面操作选中不选中改变
|
|
|
|
|
|
|
|
MergeTableSelectPage(
|
|
|
|
{this.canChoose = false,
|
|
|
|
this.tableList,
|
|
|
|
this.fromPage,
|
|
|
|
this.tid,
|
|
|
|
this.tableid});
|
|
|
|
this.tableid,
|
|
|
|
this.tids});
|
|
|
|
|
|
|
|
@override
|
|
|
|
State<StatefulWidget> createState() {
|
|
...
|
...
|
@@ -205,6 +207,7 @@ class MergeTableSelectPageState extends State<MergeTableSelectPage> { |
|
|
|
if (item1.id == table.id) {
|
|
|
|
item1.selected = true;
|
|
|
|
// selectNum++;
|
|
|
|
|
|
|
|
selectTables.add(tableListToTable(table));
|
|
|
|
|
|
|
|
// if (!tableList.contains(item)) {
|
|
...
|
...
|
@@ -214,7 +217,17 @@ class MergeTableSelectPageState extends State<MergeTableSelectPage> { |
|
|
|
}
|
|
|
|
}
|
|
|
|
//如果当前的桌子全部选中,则全选按钮---选中状态
|
|
|
|
item.isAll = item.list.every((element) => element.selected);
|
|
|
|
List<t.Table> temp = [];
|
|
|
|
temp.addAll(item.list);
|
|
|
|
temp.removeWhere((element) {
|
|
|
|
if (element.isLock == '1' &&
|
|
|
|
!widget.tids.split(',').contains(element.id)) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
});
|
|
|
|
item.isAll = temp.every((element) => element.selected);
|
|
|
|
|
|
|
|
// selectAreaAll[]
|
|
|
|
|
|
|
|
print(selectTables);
|
|
...
|
...
|
@@ -457,7 +470,11 @@ class MergeTableSelectPageState extends State<MergeTableSelectPage> { |
|
|
|
onTap: () {
|
|
|
|
tableOuterList[i].isAll = !tableOuterList[i].isAll;
|
|
|
|
tableOuterList[i].list.forEach((element) {
|
|
|
|
element.selected = tableOuterList[i].isAll;
|
|
|
|
if (element.isLock == '1' &&
|
|
|
|
!widget.tids.split(',').contains(element.id)) {
|
|
|
|
} else {
|
|
|
|
element.selected = tableOuterList[i].isAll;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
if (tableOuterList[i].isAll) {
|
|
...
|
...
|
@@ -469,7 +486,11 @@ class MergeTableSelectPageState extends State<MergeTableSelectPage> { |
|
|
|
|
|
|
|
//加入当前区域全部桌子
|
|
|
|
tableOuterList[i].list.forEach((value) {
|
|
|
|
selectTables.add(value);
|
|
|
|
if (value.isLock == '1' &&
|
|
|
|
!widget.tids.split(',').contains(value.id)) {
|
|
|
|
} else {
|
|
|
|
selectTables.add(value);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
//全选
|
|
...
|
...
|
@@ -634,50 +655,66 @@ class MergeTableSelectPageState extends State<MergeTableSelectPage> { |
|
|
|
shouldRebuild: (pre, next) => true,
|
|
|
|
selector: (context, model) => data[index],
|
|
|
|
builder: (context, table, _) {
|
|
|
|
return MergeTableItem(data[index], canSelected: true,
|
|
|
|
onSelected: (t.Table table) {
|
|
|
|
print(areaTableMap.keys);
|
|
|
|
// for (String item in areaTableMap.keys) {
|
|
|
|
// for (t.Table tableItem in areaTableMap[item]) {
|
|
|
|
// tableItem.selected = false;
|
|
|
|
// selectNum = 0;
|
|
|
|
// if (table.id == tableItem.id) {
|
|
|
|
// selectTableId = table.id;
|
|
|
|
return MergeTableItem(
|
|
|
|
data[index],
|
|
|
|
canSelected: true,
|
|
|
|
onSelected: (t.Table table) {
|
|
|
|
print(areaTableMap.keys);
|
|
|
|
// for (String item in areaTableMap.keys) {
|
|
|
|
// for (t.Table tableItem in areaTableMap[item]) {
|
|
|
|
// tableItem.selected = false;
|
|
|
|
// selectNum = 0;
|
|
|
|
// if (table.id == tableItem.id) {
|
|
|
|
// selectTableId = table.id;
|
|
|
|
|
|
|
|
// selectTables = [];
|
|
|
|
// selectNum++;
|
|
|
|
if (table.selected) {
|
|
|
|
//选中
|
|
|
|
selectTables.add(table);
|
|
|
|
Map temp = {
|
|
|
|
'tid': selectTables.length > 0 ? selectTables[0].id : '',
|
|
|
|
'tname':
|
|
|
|
selectTables.length > 0 ? selectTables[0].name : ''
|
|
|
|
};
|
|
|
|
// print(selectNum);
|
|
|
|
print(selectTables);
|
|
|
|
//检测当前选中区域全选按钮状态更新
|
|
|
|
// selectTables = [];
|
|
|
|
// selectNum++;
|
|
|
|
if (table.selected) {
|
|
|
|
//选中
|
|
|
|
selectTables.add(table);
|
|
|
|
Map temp = {
|
|
|
|
'tid':
|
|
|
|
selectTables.length > 0 ? selectTables[0].id : '',
|
|
|
|
'tname':
|
|
|
|
selectTables.length > 0 ? selectTables[0].name : ''
|
|
|
|
};
|
|
|
|
// print(selectNum);
|
|
|
|
print(selectTables);
|
|
|
|
//检测当前选中区域全选按钮状态更新
|
|
|
|
|
|
|
|
} else {
|
|
|
|
//取消选中
|
|
|
|
selectTables
|
|
|
|
.removeWhere((element) => table.id == element.id);
|
|
|
|
}
|
|
|
|
tableOuterList[i].isAll = tableOuterList[i]
|
|
|
|
.list
|
|
|
|
.every((element) => element.selected);
|
|
|
|
} else {
|
|
|
|
//取消选中
|
|
|
|
selectTables
|
|
|
|
.removeWhere((element) => table.id == element.id);
|
|
|
|
}
|
|
|
|
List<t.Table> temp = [];
|
|
|
|
temp.addAll(tableOuterList[i].list);
|
|
|
|
temp.removeWhere((element) {
|
|
|
|
if (element.isLock == '1' &&
|
|
|
|
!widget.tids.split(',').contains(element.id)) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
});
|
|
|
|
tableOuterList[i].isAll =
|
|
|
|
temp.every((element) => element.selected);
|
|
|
|
|
|
|
|
setState(() {});
|
|
|
|
setState(() {});
|
|
|
|
|
|
|
|
// NavigatorUtil.goTableMergeTableSelectPage(context,
|
|
|
|
// tid: table.id, tname: table.name);
|
|
|
|
// setState(() {
|
|
|
|
// tableItem.selected = true;
|
|
|
|
// });
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
}, fromPage: widget.fromPage, tableMap: tableMap, rid: null);
|
|
|
|
// NavigatorUtil.goTableMergeTableSelectPage(context,
|
|
|
|
// tid: table.id, tname: table.name);
|
|
|
|
// setState(() {
|
|
|
|
// tableItem.selected = true;
|
|
|
|
// });
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
},
|
|
|
|
fromPage: widget.fromPage,
|
|
|
|
tableMap: tableMap,
|
|
|
|
rid: null,
|
|
|
|
tids: widget.tids,
|
|
|
|
);
|
|
|
|
},
|
|
|
|
);
|
|
|
|
// }
|
|
...
|
...
|
@@ -922,7 +959,7 @@ class MergeTableSelectPageState extends State<MergeTableSelectPage> { |
|
|
|
gradientStart: MyColours.color_DBDBDB,
|
|
|
|
gradientEnd: MyColours.color_DBDBDB,
|
|
|
|
onPressed: () {
|
|
|
|
Navigator.pop(context);
|
|
|
|
Navigator.of(context).pop();
|
|
|
|
},
|
|
|
|
),
|
|
|
|
RoundButton(
|
|
...
|
...
|
@@ -969,25 +1006,21 @@ class MergeTableSelectPageState extends State<MergeTableSelectPage> { |
|
|
|
// Navigator.of(context).pop(temp);
|
|
|
|
// // }
|
|
|
|
// } else {
|
|
|
|
if (selectTables.length > 0) {
|
|
|
|
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);
|
|
|
|
} else {
|
|
|
|
Navigator.of(context).pop();
|
|
|
|
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);
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
},
|
|
...
|
...
|
@@ -1004,6 +1037,24 @@ class MergeTableSelectPageState extends State<MergeTableSelectPage> { |
|
|
|
));
|
|
|
|
}
|
|
|
|
|
|
|
|
_backLastPage() {
|
|
|
|
if (selectTables.length > 0) {
|
|
|
|
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);
|
|
|
|
} else {
|
|
|
|
Map temp = {'object': [], 'tid': ''};
|
|
|
|
Navigator.of(context).pop(temp);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
tableToTableList(t.Table table) {
|
|
|
|
TableList _tableList = TableList(
|
|
|
|
'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '');
|
...
|
...
|
|