|
|
|
import 'dart:ffi';
|
|
|
|
|
|
|
|
import 'package:common_utils/common_utils.dart';
|
|
|
|
import 'package:dotted_border/dotted_border.dart';
|
|
|
|
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/models/notebook.dart';
|
|
|
|
import 'package:one_key/models/tableOuter.dart';
|
|
|
|
import 'package:one_key/models/table_list.dart';
|
|
|
|
import 'package:one_key/pages/table/area_item_table.dart';
|
|
|
|
import 'package:one_key/provider/choose_table_model.dart';
|
|
|
|
import 'package:one_key/provider/notebook_detail_change_model.dart';
|
|
|
|
import 'package:one_key/provider/notebook_model.dart';
|
|
|
|
import 'package:one_key/provider/user_model.dart';
|
|
|
|
import 'package:one_key/res/colors.dart';
|
|
|
|
import 'package:one_key/route/navigator_util.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/MyDivider.dart';
|
|
|
|
import 'package:one_key/widgets/app_bar.dart';
|
|
|
|
import 'package:one_key/widgets/area_item.dart';
|
|
|
|
import 'package:one_key/widgets/common_button.dart';
|
|
|
|
import 'package:one_key/widgets/f_table_item.dart';
|
|
|
|
import 'package:one_key/widgets/h_empty_view.dart';
|
|
|
|
import 'package:one_key/widgets/merge_table_item.dart';
|
|
|
|
import 'package:one_key/widgets/page_exception.dart';
|
|
|
|
import 'package:one_key/widgets/round_button.dart';
|
|
|
|
import 'package:one_key/widgets/system_app_bar.dart';
|
|
|
|
import 'package:one_key/widgets/table_item.dart';
|
|
|
|
import 'package:one_key/models/table.dart' as t;
|
|
|
|
import 'package:one_key/widgets/v_empty_view.dart';
|
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
import 'dart:convert' as convert;
|
|
|
|
|
|
|
|
import '../../../utils/screen_util.dart';
|
|
|
|
|
|
|
|
class MergeTableSelectPage extends StatefulWidget {
|
|
|
|
// final String rid; //预订id
|
|
|
|
// final DateTime dateTime; //日期
|
|
|
|
// final String ddate_slot; //时段
|
|
|
|
final bool canChoose; //变更预订可以取消原来已预订的选中状态
|
|
|
|
final List<TableList> tableList;
|
|
|
|
final String fromPage;
|
|
|
|
final String tid;
|
|
|
|
final String tableid;
|
|
|
|
|
|
|
|
MergeTableSelectPage(
|
|
|
|
{this.canChoose = false,
|
|
|
|
this.tableList,
|
|
|
|
this.fromPage,
|
|
|
|
this.tid,
|
|
|
|
this.tableid});
|
|
|
|
|
|
|
|
@override
|
|
|
|
State<StatefulWidget> createState() {
|
|
|
|
// TODO: implement createState
|
|
|
|
return new MergeTableSelectPageState();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class MergeTableSelectPageState extends State<MergeTableSelectPage> {
|
|
|
|
List<Area> areas = []; //区域列表
|
|
|
|
List<t.Table> selectTables = []; //选择的桌位
|
|
|
|
|
|
|
|
List<TableOuter> tableOuterList = []; //区域-桌位列表
|
|
|
|
|
|
|
|
Map<String, List<t.Table>> areaTableMap = {}; //区域-桌位Map
|
|
|
|
|
|
|
|
ChooseTableModel _chooseTableModel;
|
|
|
|
|
|
|
|
Map<String, Notebook> tableMap = {}; //记录已预订桌位对应的订单
|
|
|
|
|
|
|
|
String currentArea; //当前选中区域
|
|
|
|
List<String> personNumList = [];
|
|
|
|
|
|
|
|
// int selectNum = 0;
|
|
|
|
bool isSelected = true; //全部按钮
|
|
|
|
int _selectNumber;
|
|
|
|
Map dailyMap = {}; // 早市对应半点钟,午市对应半点钟、晚市对应半点钟
|
|
|
|
|
|
|
|
String selectTableId;
|
|
|
|
|
|
|
|
@override
|
|
|
|
void initState() {
|
|
|
|
// TODO: implement initState
|
|
|
|
super.initState();
|
|
|
|
// for (int i = 1; i < 31; i++) {
|
|
|
|
// personNumList.add(i.toString());
|
|
|
|
// }
|
|
|
|
// initDateHourMinuteList(context);
|
|
|
|
|
|
|
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
|
|
|
getTableList();
|
|
|
|
});
|
|
|
|
bus.on("refresh_photo_manager", (args) {
|
|
|
|
getTableList();
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
void dispose() {
|
|
|
|
super.dispose();
|
|
|
|
bus.off("refresh_photo_manager");
|
|
|
|
}
|
|
|
|
|
|
|
|
/// 早市、午市、晚市对应的半个小时间隔时间段
|
|
|
|
// initDateHourMinuteList(BuildContext context) async {
|
|
|
|
// UserModel userModel = Provider.of<UserModel>(context, listen: false);
|
|
|
|
// String morning =
|
|
|
|
// userModel.user.morning.isEmpty ? "00:00-00:00" : userModel.user.morning;
|
|
|
|
// String noon =
|
|
|
|
// userModel.user.noon.isEmpty ? "00:00-00:00" : userModel.user.noon;
|
|
|
|
// String night =
|
|
|
|
// userModel.user.night.isEmpty ? "00:00-00:00" : userModel.user.night;
|
|
|
|
// userModel.user.morning == ''
|
|
|
|
// ? dailyMap.putIfAbsent('morning', () => '')
|
|
|
|
// : dailyMap.putIfAbsent(
|
|
|
|
// 'morning', () => _getHourAndMinute(userModel.user.morning, 1));
|
|
|
|
// userModel.user.noon == ''
|
|
|
|
// ? dailyMap.putIfAbsent('noon', () => '')
|
|
|
|
// : dailyMap.putIfAbsent(
|
|
|
|
// 'noon', () => _getHourAndMinute(userModel.user.noon, 2));
|
|
|
|
// userModel.user.night == ''
|
|
|
|
// ? dailyMap.putIfAbsent('night', () => '')
|
|
|
|
// : dailyMap.putIfAbsent(
|
|
|
|
// 'night', () => _getHourAndMinute(userModel.user.night, 3));
|
|
|
|
// // _initSunDateList(
|
|
|
|
// // userModel.user.morning, userModel.user.noon, userModel.user.night);
|
|
|
|
// }
|
|
|
|
|
|
|
|
//根据获取时间 11:00-12:30 获取30分钟间隔组装的数组
|
|
|
|
// _getHourAndMinute(String hourAndMinuteStr, int mnd) {
|
|
|
|
// List tempDate = hourAndMinuteStr.split("-");
|
|
|
|
// String beginDate = tempDate[0];
|
|
|
|
// String endDate = tempDate[1];
|
|
|
|
// List tempHour = beginDate.split(':');
|
|
|
|
|
|
|
|
// /*获取开始小时*/
|
|
|
|
// int beginHour = int.parse(tempHour[0]);
|
|
|
|
// /*获取开始分钟*/
|
|
|
|
// int beginMinute = int.parse(tempHour[1]);
|
|
|
|
// List res = [];
|
|
|
|
// bool tempLimit = true;
|
|
|
|
// while (tempLimit) {
|
|
|
|
// String temp = _dealTime(beginHour, beginMinute);
|
|
|
|
|
|
|
|
// // bool tempSelect = false;
|
|
|
|
|
|
|
|
// // Map tempMap = {'title': temp, 'select': tempSelect};
|
|
|
|
// res.add(temp);
|
|
|
|
// if (temp == endDate) {
|
|
|
|
// tempLimit = false;
|
|
|
|
// break;
|
|
|
|
// }
|
|
|
|
// if (beginMinute == 30) {
|
|
|
|
// beginHour++;
|
|
|
|
// if (beginHour >= 24) {
|
|
|
|
// beginHour = 0;
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// beginMinute = (beginMinute + 30) % 60;
|
|
|
|
// }
|
|
|
|
// return res;
|
|
|
|
// }
|
|
|
|
|
|
|
|
// /// 根据时间和分钟组装 格式:11:00
|
|
|
|
// _dealTime(int begin, int mm) {
|
|
|
|
// String sb = '';
|
|
|
|
// if (begin < 10) {
|
|
|
|
// sb = '0$begin';
|
|
|
|
// } else {
|
|
|
|
// sb = '$begin';
|
|
|
|
// }
|
|
|
|
// sb = '$sb:';
|
|
|
|
// if (mm < 10) {
|
|
|
|
// sb = '${sb}0${mm}';
|
|
|
|
// } else {
|
|
|
|
// sb = '${sb}${mm}';
|
|
|
|
// }
|
|
|
|
// return sb;
|
|
|
|
// }
|
|
|
|
|
|
|
|
//获取桌位列表
|
|
|
|
getTableList({needLoading = true}) async {
|
|
|
|
UserModel userModel = Provider.of<UserModel>(context, listen: false);
|
|
|
|
Map<String, String> params = {"sellerid": userModel.user.sellerid};
|
|
|
|
tableOuterList = await _chooseTableModel.getTableList(context, params,
|
|
|
|
needLoading: needLoading);
|
|
|
|
_chooseTableModel.tablesAll = [];
|
|
|
|
tableOuterList.forEach((element) {
|
|
|
|
element.list.removeWhere((value) => value.id == widget.tableid);
|
|
|
|
});
|
|
|
|
print(tableOuterList);
|
|
|
|
|
|
|
|
for (TableOuter item in tableOuterList) {
|
|
|
|
// if (item.name == "推荐") {
|
|
|
|
// itemModelList.remove(item);
|
|
|
|
// }
|
|
|
|
for (var item1 in item.list) {
|
|
|
|
item1.selected = false;
|
|
|
|
for (var table in widget.tableList) {
|
|
|
|
if (item1.id == table.id) {
|
|
|
|
item1.selected = true;
|
|
|
|
// selectNum++;
|
|
|
|
selectTables.add(tableListToTable(table));
|
|
|
|
|
|
|
|
// if (!tableList.contains(item)) {
|
|
|
|
// tableList.add(item);
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//如果当前的桌子全部选中,则全选按钮---选中状态
|
|
|
|
item.isAll = item.list.every((element) => element.selected);
|
|
|
|
// selectAreaAll[]
|
|
|
|
|
|
|
|
print(selectTables);
|
|
|
|
_chooseTableModel.tablesAll.addAll(item.list);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (tableOuterList.isEmpty) {
|
|
|
|
_chooseTableModel.pageState = PageState.Success;
|
|
|
|
_chooseTableModel.notifyListeners();
|
|
|
|
} else {
|
|
|
|
initData();
|
|
|
|
// _getReserveList(userModel.user.sellerid, needLoading: needLoading);
|
|
|
|
}
|
|
|
|
// if (_chooseTableModel.pageState == PageState.Success) {
|
|
|
|
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
|
|
|
|
refreshTable(context) async {
|
|
|
|
await getTableList(needLoading: false);
|
|
|
|
// if (temp.length > 0) {
|
|
|
|
// _getReserveList(context, needLoading: false);
|
|
|
|
// } else {
|
|
|
|
// // pageState = PageState.Empty;
|
|
|
|
// _chooseTableModel.pageState = PageState.Success;
|
|
|
|
// _chooseTableModel.notifyListeners();
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
|
|
|
|
//获取已预订列表
|
|
|
|
// _getReserveList(String sid, {needLoading = true}) async {
|
|
|
|
// NoteBookModel model = new NoteBookModel();
|
|
|
|
// Map<String, String> params = {
|
|
|
|
// "sid": sid,
|
|
|
|
// "rdate": _getRdate(),
|
|
|
|
// "ddate_solt": widget.ddate_slot,
|
|
|
|
// "y": "200",
|
|
|
|
// "x": "1",
|
|
|
|
// "keywords": "",
|
|
|
|
// "sort": "1"
|
|
|
|
// };
|
|
|
|
// List<Notebook> noteBooks =
|
|
|
|
// await model.getReserveList(context, params, needLoading: needLoading);
|
|
|
|
// for (Notebook notebook in noteBooks) {
|
|
|
|
// if (notebook.tid.isEmpty) continue;
|
|
|
|
// if (notebook.status == "1" ||
|
|
|
|
// notebook.status == "2" ||
|
|
|
|
// notebook.status == "5") {
|
|
|
|
// //已预订,用餐中,已安排
|
|
|
|
// List<String> tids = notebook.tid.split(",");
|
|
|
|
// for (String tid in tids) {
|
|
|
|
// tableMap["$tid"] = notebook;
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// print(tableMap);
|
|
|
|
// if (needLoading) {
|
|
|
|
// initData();
|
|
|
|
// } else {
|
|
|
|
// initData(needRetain: true);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
// //初始桌位数据
|
|
|
|
initData({bool needRetain = false}) {
|
|
|
|
areas.clear();
|
|
|
|
areaTableMap.clear();
|
|
|
|
List<t.Table> tempTableAll = [];
|
|
|
|
tempTableAll.addAll(_chooseTableModel.tablesAll);
|
|
|
|
for (TableOuter outer in tableOuterList) {
|
|
|
|
int count = 0;
|
|
|
|
List<t.Table> tempList = [];
|
|
|
|
tempList.addAll(outer.list);
|
|
|
|
for (t.Table table in outer.list) {
|
|
|
|
// table.selected = false;
|
|
|
|
if (widget.tid != '' && table.id == widget.tid) {
|
|
|
|
table.selected = true;
|
|
|
|
currentArea = outer.name;
|
|
|
|
}
|
|
|
|
if (table.id == selectTableId) {
|
|
|
|
table.selected = true;
|
|
|
|
currentArea = outer.name;
|
|
|
|
}
|
|
|
|
// if (table.tablestatus == "0") {
|
|
|
|
// //没有用餐中
|
|
|
|
// if (tableMap["${table.id}"] != null) {
|
|
|
|
// Notebook notebook = tableMap["${table.id}"];
|
|
|
|
// table.sign = notebook.status;
|
|
|
|
// table.notebookId = notebook.id;
|
|
|
|
// table.reserver = notebook.rnameStr;
|
|
|
|
// table.pnum = notebook.actual_pnum;
|
|
|
|
// table.nickName = notebook.nick_name;
|
|
|
|
// table.noteName = notebook.note_name;
|
|
|
|
// //(不能移除自己定的桌子)
|
|
|
|
// String idNow = '';
|
|
|
|
// if (tableMap.containsKey('${table.id}')) {
|
|
|
|
// //包含,证明该桌子已经被预订了
|
|
|
|
// idNow = tableMap['${table.id}'].id;
|
|
|
|
// if (idNow != widget.rid) {
|
|
|
|
// //不是自己的当前订单
|
|
|
|
// //剔除已经预订的桌子,剩下空桌子(仅看空座)
|
|
|
|
// tempList.remove(table);
|
|
|
|
// //全部
|
|
|
|
// tempTableAll.remove(table);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// } else {
|
|
|
|
// table.sign = "";
|
|
|
|
// table.notebookId = "";
|
|
|
|
// if (table.enable == "1") {
|
|
|
|
// count++;
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// } else {
|
|
|
|
// table.sign = "2";
|
|
|
|
// table.notebookId = "";
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
|
|
|
|
areaTableMap["${outer.name}"] = outer.list;
|
|
|
|
|
|
|
|
_chooseTableModel.areaTableMapCanNote["${outer.name}"] = tempList;
|
|
|
|
Area area = Area();
|
|
|
|
area.name = outer.name;
|
|
|
|
area.count = outer.list.length == 0 ? -1 : count;
|
|
|
|
area.rid = outer.list.length == 0 ? outer.rid : outer.list[0].rid;
|
|
|
|
areas.add(area);
|
|
|
|
}
|
|
|
|
_chooseTableModel.tablesCanNote = tempTableAll;
|
|
|
|
// if (_chooseTableModel.swichState) {
|
|
|
|
// _chooseTableModel.areaTableMapShow =
|
|
|
|
// _chooseTableModel.areaTableMapCanNote;
|
|
|
|
// _chooseTableModel.tablesShow = _chooseTableModel.tablesCanNote;
|
|
|
|
// } else {
|
|
|
|
_chooseTableModel.areaTableMapShow = areaTableMap;
|
|
|
|
_chooseTableModel.tablesShow = _chooseTableModel.tablesAll;
|
|
|
|
// }
|
|
|
|
|
|
|
|
if (areaTableMap.isNotEmpty) {
|
|
|
|
// if (!needRetain) {
|
|
|
|
// currentArea = '全部';
|
|
|
|
// _chooseTableModel.currentTables = _chooseTableModel.tablesAll;
|
|
|
|
// } else {
|
|
|
|
if (currentArea != null && currentArea != '') {
|
|
|
|
// tablesShow = areaTableMapShow[currentArea];
|
|
|
|
List keys = areaTableMap.keys.toList();
|
|
|
|
_selectNumber = keys.indexOf(currentArea);
|
|
|
|
} else {
|
|
|
|
currentArea = areas[0].name;
|
|
|
|
List keys = areaTableMap.keys.toList();
|
|
|
|
_selectNumber = keys.indexOf(currentArea);
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
} else {
|
|
|
|
// if (currentArea != null && currentArea != '') {
|
|
|
|
// tablesShow = areaTableMap[currentArea];
|
|
|
|
// _selectNumber = areaTableMap.length;
|
|
|
|
// }
|
|
|
|
// pageState = PageState.Empty;
|
|
|
|
// pageState = PageState.Success;
|
|
|
|
}
|
|
|
|
// if (widget.tid == '') {
|
|
|
|
// if (!needRetain) {
|
|
|
|
// // currentArea = areaTableMap.keys.first;
|
|
|
|
// currentArea = '全部';
|
|
|
|
// _chooseTableModel.currentTables = _chooseTableModel.tablesAll;
|
|
|
|
// } else {
|
|
|
|
// if (currentArea != null && currentArea != '') {
|
|
|
|
// // tablesShow = areaTableMapShow[currentArea];
|
|
|
|
// List keys = areaTableMap.keys.toList();
|
|
|
|
// _selectNumber = keys.indexOf(currentArea);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// if (areas.length == 1) {
|
|
|
|
// currentArea = areaTableMap.keys.first;
|
|
|
|
// }
|
|
|
|
// } else {
|
|
|
|
// // if (currentArea != null && currentArea != '') {
|
|
|
|
// // tablesShow = areaTableMapShow[currentArea];
|
|
|
|
// // selectNumber = areaTableMapShow.length;
|
|
|
|
// // }
|
|
|
|
// // // pageState = PageState.Empty;
|
|
|
|
// // pageState = PageState.Success;
|
|
|
|
// }
|
|
|
|
|
|
|
|
_chooseTableModel.pageState = PageState.Success;
|
|
|
|
_chooseTableModel.notifyListeners();
|
|
|
|
}
|
|
|
|
|
|
|
|
//获取一天开始-结束时间字符串
|
|
|
|
// String _getRdate() {
|
|
|
|
// String keys = '';
|
|
|
|
|
|
|
|
// if (widget.ddate_slot == '1') {
|
|
|
|
// //早市
|
|
|
|
// keys = 'morning';
|
|
|
|
// } else if (widget.ddate_slot == '2') {
|
|
|
|
// //午市
|
|
|
|
// keys = 'noon';
|
|
|
|
// } else if (widget.ddate_slot == '3') {
|
|
|
|
// //晚市
|
|
|
|
// keys = 'night';
|
|
|
|
// }
|
|
|
|
// String ymd =
|
|
|
|
// DateUtil.formatDate(widget.dateTime, format: DateFormats.y_mo_d);
|
|
|
|
// String timeStrStart = '';
|
|
|
|
// String timeStrEnd = '';
|
|
|
|
// //一天开始时间
|
|
|
|
// double startDay;
|
|
|
|
// //一天结束时间
|
|
|
|
// double endDay;
|
|
|
|
// if (keys != '') {
|
|
|
|
// List temp = dailyMap[keys];
|
|
|
|
// timeStrStart = ymd + ' ' + temp.first + ':00';
|
|
|
|
// timeStrEnd = ymd + ' ' + temp.last + ':00';
|
|
|
|
// } else {
|
|
|
|
// timeStrStart = widget.dateTime.year.toString() +
|
|
|
|
// "-" +
|
|
|
|
// Utils.addZeroNumber(widget.dateTime.month) +
|
|
|
|
// "-" +
|
|
|
|
// Utils.addZeroNumber(widget.dateTime.day) +
|
|
|
|
// " 00:00:00";
|
|
|
|
// timeStrEnd = widget.dateTime.year.toString() +
|
|
|
|
// "-" +
|
|
|
|
// Utils.addZeroNumber(widget.dateTime.month) +
|
|
|
|
// "-" +
|
|
|
|
// Utils.addZeroNumber(widget.dateTime.day) +
|
|
|
|
// " 23:59:59";
|
|
|
|
// }
|
|
|
|
// startDay = (DateTime.parse(timeStrStart).millisecondsSinceEpoch) / 1000;
|
|
|
|
// endDay = (DateTime.parse(timeStrEnd).millisecondsSinceEpoch) / 1000;
|
|
|
|
// return startDay.floor().toString() + "-" + endDay.floor().toString();
|
|
|
|
// }
|
|
|
|
|
|
|
|
Widget item(int i) {
|
|
|
|
return Column(
|
|
|
|
children: [
|
|
|
|
_chooseTableModel.areaTableMapShow[areas[i].name].length > 0
|
|
|
|
? InkWell(
|
|
|
|
onTap: () {
|
|
|
|
tableOuterList[i].isAll = !tableOuterList[i].isAll;
|
|
|
|
tableOuterList[i].list.forEach((element) {
|
|
|
|
element.selected = tableOuterList[i].isAll;
|
|
|
|
});
|
|
|
|
|
|
|
|
if (tableOuterList[i].isAll) {
|
|
|
|
//移除当前区域原来的选中的桌子
|
|
|
|
tableOuterList[i].list.forEach((value) {
|
|
|
|
selectTables
|
|
|
|
.removeWhere((element) => value.id == element.id);
|
|
|
|
});
|
|
|
|
|
|
|
|
//加入当前区域全部桌子
|
|
|
|
tableOuterList[i].list.forEach((value) {
|
|
|
|
selectTables.add(value);
|
|
|
|
});
|
|
|
|
|
|
|
|
//全选
|
|
|
|
// object.addAll(elements)
|
|
|
|
|
|
|
|
} else {
|
|
|
|
//取消全选
|
|
|
|
tableOuterList[i].list.forEach((value) {
|
|
|
|
selectTables
|
|
|
|
.removeWhere((element) => element.id == value.id);
|
|
|
|
});
|
|
|
|
// selectNum = selectNum-
|
|
|
|
}
|
|
|
|
// selectNum++;
|
|
|
|
// selectTables.add(table);
|
|
|
|
print(selectTables);
|
|
|
|
setState(() {});
|
|
|
|
},
|
|
|
|
child: Padding(
|
|
|
|
padding: EdgeInsets.symmetric(
|
|
|
|
horizontal: w(24), vertical: w(16)),
|
|
|
|
child: Row(
|
|
|
|
children: [
|
|
|
|
Image.asset(
|
|
|
|
Utils.getImgPath(
|
|
|
|
tableOuterList[i].isAll ? 'select' : 'unselect'),
|
|
|
|
width: w(20),
|
|
|
|
),
|
|
|
|
HEmptyView(4),
|
|
|
|
Text(
|
|
|
|
'全选',
|
|
|
|
style: TextStyle(
|
|
|
|
fontSize: font(16),
|
|
|
|
color: MyColours.color_515151),
|
|
|
|
)
|
|
|
|
],
|
|
|
|
)))
|
|
|
|
: SizedBox(),
|
|
|
|
GridView.builder(
|
|
|
|
// controller: _areaController,
|
|
|
|
// physics: NeverScrollableScrollPhysics(),
|
|
|
|
padding: EdgeInsets.symmetric(
|
|
|
|
vertical: ScreenUtil().setWidth(20),
|
|
|
|
horizontal: ScreenUtil().setWidth(64)),
|
|
|
|
shrinkWrap: true,
|
|
|
|
itemCount: _chooseTableModel.tablesShow.length == 0 ||
|
|
|
|
(i != null &&
|
|
|
|
_chooseTableModel
|
|
|
|
.areaTableMapShow[areas[i].name].length ==
|
|
|
|
0)
|
|
|
|
? 0
|
|
|
|
: _chooseTableModel.areaTableMapShow[areas[i].name].length,
|
|
|
|
// itemCount: _chooseTableModel.tablesShow.length == 0 ||
|
|
|
|
// (i != null &&
|
|
|
|
// _chooseTableModel.areaTableMapShow[areas[i].name].length == 0)
|
|
|
|
// ? 0
|
|
|
|
// : currentArea == '全部'
|
|
|
|
// ? _chooseTableModel.tablesShow.length
|
|
|
|
// : _chooseTableModel.areaTableMapShow[areas[i].name].length,
|
|
|
|
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
|
|
|
|
crossAxisCount: 4,
|
|
|
|
childAspectRatio: 1,
|
|
|
|
mainAxisSpacing: ScreenUtil().setWidth(28),
|
|
|
|
crossAxisSpacing: ScreenUtil().setWidth(48),
|
|
|
|
),
|
|
|
|
|
|
|
|
itemBuilder: (BuildContext context, int index) {
|
|
|
|
List<t.Table> data = _chooseTableModel.tablesShow.length == 0 ||
|
|
|
|
(i != null &&
|
|
|
|
_chooseTableModel
|
|
|
|
.areaTableMapShow[areas[i].name].length ==
|
|
|
|
0)
|
|
|
|
? 0
|
|
|
|
: _chooseTableModel.areaTableMapShow[areas[i].name];
|
|
|
|
// if (index == data.length || data.length == 0) {
|
|
|
|
// return InkWell(
|
|
|
|
// onTap: () async {
|
|
|
|
// List<String> areasTemp = [];
|
|
|
|
// for (int i = 0; i < areas.length; i++) {
|
|
|
|
// areasTemp.add(areas[i].name);
|
|
|
|
// }
|
|
|
|
|
|
|
|
// //添加桌位弹框
|
|
|
|
// await DialogUtil.openCreateTableDialog(
|
|
|
|
// context, areasTemp, 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 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 _chooseTableModel.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();
|
|
|
|
// refreshTable(context);
|
|
|
|
// }
|
|
|
|
// });
|
|
|
|
// },
|
|
|
|
// child: Container(
|
|
|
|
// child: DottedBorder(
|
|
|
|
// dashPattern: [5, 5, 5, 5],
|
|
|
|
// borderType: BorderType.RRect,
|
|
|
|
// radius: Radius.circular(ScreenUtil().setWidth(20)),
|
|
|
|
// // padding: EdgeInsets.all(ScreenUtil().setWidth(70)),
|
|
|
|
// color: MyColours.color_E0E0E0,
|
|
|
|
// strokeWidth: ScreenUtil().setWidth(2),
|
|
|
|
// child: ClipRRect(
|
|
|
|
// borderRadius: BorderRadius.all(
|
|
|
|
// Radius.circular(ScreenUtil().setWidth(20))),
|
|
|
|
// child: Container(
|
|
|
|
// height: ScreenUtil().screenWidth -
|
|
|
|
// ScreenUtil().setWidth(12 * 3 - 10 * 2),
|
|
|
|
// width: ScreenUtil().screenWidth -
|
|
|
|
// ScreenUtil().setWidth(12 * 3 - 10 * 2),
|
|
|
|
// child: Column(
|
|
|
|
// mainAxisAlignment: MainAxisAlignment.center,
|
|
|
|
// children: [
|
|
|
|
// Image.asset(Utils.getImgPath('add_store'),
|
|
|
|
// width: ScreenUtil().setWidth(32)),
|
|
|
|
// ],
|
|
|
|
// ),
|
|
|
|
// ),
|
|
|
|
// ),
|
|
|
|
// )));
|
|
|
|
// } else {
|
|
|
|
return Selector<ChooseTableModel, t.Table>(
|
|
|
|
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;
|
|
|
|
|
|
|
|
// 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);
|
|
|
|
|
|
|
|
setState(() {});
|
|
|
|
|
|
|
|
// NavigatorUtil.goTableMergeTableSelectPage(context,
|
|
|
|
// tid: table.id, tname: table.name);
|
|
|
|
// setState(() {
|
|
|
|
// tableItem.selected = true;
|
|
|
|
// });
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
}, fromPage: widget.fromPage, tableMap: tableMap, rid: null);
|
|
|
|
},
|
|
|
|
);
|
|
|
|
// }
|
|
|
|
},
|
|
|
|
)
|
|
|
|
],
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
_chooseTableModel = Provider.of<ChooseTableModel>(context);
|
|
|
|
return Scaffold(
|
|
|
|
backgroundColor: MyColours.color_ffffff,
|
|
|
|
body: SafeArea(
|
|
|
|
child: Column(
|
|
|
|
children: <Widget>[
|
|
|
|
SystemAppBar(
|
|
|
|
"选择要合并的桌位",
|
|
|
|
onTap: () {
|
|
|
|
EventBus().emit('changeStatusColor');
|
|
|
|
Navigator.of(context).pop();
|
|
|
|
},
|
|
|
|
),
|
|
|
|
WillPopScope(
|
|
|
|
onWillPop: () {
|
|
|
|
EventBus().emit('changeStatusColor');
|
|
|
|
Navigator.of(context).pop();
|
|
|
|
},
|
|
|
|
child: Expanded(
|
|
|
|
child:
|
|
|
|
Consumer<ChooseTableModel>(builder: (context, model, _) {
|
|
|
|
if (model.pageState != PageState.Success) {
|
|
|
|
return ExceptionPage(
|
|
|
|
pageState: model.pageState,
|
|
|
|
callback: () {
|
|
|
|
getTableList();
|
|
|
|
},
|
|
|
|
emptyMsg: "暂时没有桌位哦",
|
|
|
|
emptyImg: "empty_search",
|
|
|
|
showMsg: "加载中,请稍后...",
|
|
|
|
);
|
|
|
|
} else {
|
|
|
|
return Column(
|
|
|
|
// crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
children: [
|
|
|
|
Container(
|
|
|
|
color: MyColours.color_ffffff,
|
|
|
|
height: ScreenUtil().setWidth(92),
|
|
|
|
margin: EdgeInsets.only(
|
|
|
|
bottom: ScreenUtil().setWidth(30)),
|
|
|
|
child: Row(
|
|
|
|
children: [
|
|
|
|
HEmptyView(48),
|
|
|
|
Expanded(
|
|
|
|
child: ListView.builder(
|
|
|
|
itemCount: areas.length,
|
|
|
|
shrinkWrap: true,
|
|
|
|
scrollDirection: Axis.horizontal,
|
|
|
|
itemBuilder:
|
|
|
|
(BuildContext contxt, int index) {
|
|
|
|
// if (index == areas.length + 1 ||
|
|
|
|
// areas.length == 0) {
|
|
|
|
// return InkWell(
|
|
|
|
// onTap: () async {
|
|
|
|
// //添加区域弹框
|
|
|
|
// await DialogUtil.openCreateAreaDialog(
|
|
|
|
// context, onTap: (value) async {
|
|
|
|
// print(value);
|
|
|
|
// //添加区域
|
|
|
|
// bool success = await _chooseTableModel
|
|
|
|
// .addTableAreas(context, value);
|
|
|
|
// print(success);
|
|
|
|
// if (success) {
|
|
|
|
// Utils.showToast('添加成功!');
|
|
|
|
// UserModel userModel =
|
|
|
|
// Provider.of<UserModel>(context,
|
|
|
|
// listen: false);
|
|
|
|
// Map<String, String> params = {
|
|
|
|
// "sellerid": userModel.user.sellerid
|
|
|
|
// };
|
|
|
|
// await _chooseTableModel.getTableList(
|
|
|
|
// context, params,
|
|
|
|
// needLoading: false);
|
|
|
|
// initData();
|
|
|
|
|
|
|
|
// // setState(() {
|
|
|
|
// // updateMenu();
|
|
|
|
// // });
|
|
|
|
// // _scrollToIndex(widget
|
|
|
|
// // .tableManagerModel
|
|
|
|
// // .areas
|
|
|
|
// // .length);
|
|
|
|
|
|
|
|
// }
|
|
|
|
// });
|
|
|
|
// },
|
|
|
|
// child: Column(
|
|
|
|
// children: [
|
|
|
|
// VEmptyView(20),
|
|
|
|
// DottedBorder(
|
|
|
|
// dashPattern: [5, 5, 5, 5],
|
|
|
|
// borderType: BorderType.RRect,
|
|
|
|
// radius: Radius.circular(
|
|
|
|
// ScreenUtil().setWidth(10)),
|
|
|
|
// // padding: EdgeInsets.all(ScreenUtil().setWidth(70)),
|
|
|
|
// color: MyColours.color_199095,
|
|
|
|
// strokeWidth: ScreenUtil().setWidth(2),
|
|
|
|
// child: ClipRRect(
|
|
|
|
// borderRadius: BorderRadius.all(
|
|
|
|
// Radius.circular(
|
|
|
|
// ScreenUtil().setWidth(10))),
|
|
|
|
// child: Container(
|
|
|
|
// height:
|
|
|
|
// ScreenUtil().setWidth(25 * 2),
|
|
|
|
// width: ScreenUtil()
|
|
|
|
// .setWidth(104 * 2),
|
|
|
|
// child: Column(
|
|
|
|
// mainAxisAlignment:
|
|
|
|
// MainAxisAlignment.center,
|
|
|
|
// children: [
|
|
|
|
// Image.asset(
|
|
|
|
// Utils.getImgPath(
|
|
|
|
// 'add_area'),
|
|
|
|
// width: ScreenUtil()
|
|
|
|
// .setWidth(24)),
|
|
|
|
// ],
|
|
|
|
// ),
|
|
|
|
// ),
|
|
|
|
// ),
|
|
|
|
// )
|
|
|
|
// ],
|
|
|
|
// ),
|
|
|
|
// );
|
|
|
|
// } else {
|
|
|
|
// if (index == 0) {
|
|
|
|
// return InkWell(
|
|
|
|
// onTap: () {
|
|
|
|
// setState(() {
|
|
|
|
// isSelected = true;
|
|
|
|
// currentArea = '全部';
|
|
|
|
// _chooseTableModel
|
|
|
|
// .currentTables =
|
|
|
|
// _chooseTableModel
|
|
|
|
// .areaTableMapShow[
|
|
|
|
// currentArea];
|
|
|
|
// });
|
|
|
|
// },
|
|
|
|
// child: Container(
|
|
|
|
// // width: ScreenUtil().setWidth(104 * 2),
|
|
|
|
// height: ScreenUtil().setWidth(80),
|
|
|
|
// margin: EdgeInsets.only(
|
|
|
|
// right:
|
|
|
|
// ScreenUtil().setWidth(20),
|
|
|
|
// top: ScreenUtil().setWidth(20),
|
|
|
|
// ),
|
|
|
|
// padding: EdgeInsets.symmetric(
|
|
|
|
// horizontal:
|
|
|
|
// ScreenUtil().setWidth(20),
|
|
|
|
// vertical: ScreenUtil()
|
|
|
|
// .setWidth(10)),
|
|
|
|
// alignment: Alignment.center,
|
|
|
|
// decoration: BoxDecoration(
|
|
|
|
// // borderRadius: BorderRadius.circular(ScreenUtil().setWidth(10)),
|
|
|
|
// color: isSelected
|
|
|
|
// ? MyColours.color_199095
|
|
|
|
// : MyColours.color_ffffff,
|
|
|
|
// border: Border.all(
|
|
|
|
// color: MyColours
|
|
|
|
// .color_E0E0E0,
|
|
|
|
// width: ScreenUtil()
|
|
|
|
// .setWidth(2))),
|
|
|
|
// child: Text(
|
|
|
|
// '全部',
|
|
|
|
// overflow: TextOverflow.ellipsis,
|
|
|
|
// style: TextStyle(
|
|
|
|
// color: isSelected
|
|
|
|
// ? MyColours.color_ffffff
|
|
|
|
// : MyColours
|
|
|
|
// .color_333333,
|
|
|
|
// fontSize:
|
|
|
|
// ScreenUtil().setSp(28),
|
|
|
|
// decoration:
|
|
|
|
// TextDecoration.none,
|
|
|
|
// fontWeight:
|
|
|
|
// FontWeight.normal),
|
|
|
|
// ),
|
|
|
|
// ),
|
|
|
|
// );
|
|
|
|
// } else {
|
|
|
|
return AreaItemTable(
|
|
|
|
areas[index],
|
|
|
|
currentArea,
|
|
|
|
(area) {
|
|
|
|
setState(() {
|
|
|
|
isSelected = false;
|
|
|
|
_selectNumber = index;
|
|
|
|
currentArea = areas[index].name;
|
|
|
|
_chooseTableModel.currentTables =
|
|
|
|
_chooseTableModel
|
|
|
|
.areaTableMapShow[
|
|
|
|
currentArea];
|
|
|
|
// _anmationMenu();
|
|
|
|
});
|
|
|
|
},
|
|
|
|
showBadge: false,
|
|
|
|
);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
},
|
|
|
|
)),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
),
|
|
|
|
Expanded(
|
|
|
|
// flex: 2,
|
|
|
|
child: Container(
|
|
|
|
constraints: BoxConstraints(
|
|
|
|
minHeight: ScreenUtil().setWidth(100)),
|
|
|
|
color: MyColours.color_ffffff,
|
|
|
|
child: item(_selectNumber))),
|
|
|
|
Container(
|
|
|
|
padding:
|
|
|
|
EdgeInsets.symmetric(horizontal: w(48)),
|
|
|
|
margin: EdgeInsets.only(bottom: w(40)),
|
|
|
|
child: Row(
|
|
|
|
mainAxisAlignment:
|
|
|
|
MainAxisAlignment.spaceBetween,
|
|
|
|
children: [
|
|
|
|
RoundButton(
|
|
|
|
// content: widget.fromPage == 'tablePhoto'
|
|
|
|
// ? '确定'
|
|
|
|
// : "已选${selectNum}个 确定",
|
|
|
|
|
|
|
|
text: '返回',
|
|
|
|
radius: r(4),
|
|
|
|
width: w(128),
|
|
|
|
height: w(36),
|
|
|
|
fontSize: 28,
|
|
|
|
isBold: false,
|
|
|
|
textColor: MyColours.color_515151,
|
|
|
|
gradientStart: MyColours.color_DBDBDB,
|
|
|
|
gradientEnd: MyColours.color_DBDBDB,
|
|
|
|
onPressed: () {
|
|
|
|
Navigator.pop(context);
|
|
|
|
},
|
|
|
|
),
|
|
|
|
RoundButton(
|
|
|
|
// content: widget.fromPage == 'tablePhoto'
|
|
|
|
// ? '确定'
|
|
|
|
// : "已选${selectNum}个 确定",
|
|
|
|
text: '保存',
|
|
|
|
width: w(128),
|
|
|
|
height: w(36),
|
|
|
|
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 = {
|
|
|
|
// 'object': widget.tableList,
|
|
|
|
// 'tid': tid
|
|
|
|
// };
|
|
|
|
// 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();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
},
|
|
|
|
),
|
|
|
|
],
|
|
|
|
))
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
}),
|
|
|
|
),
|
|
|
|
)
|
|
|
|
],
|
|
|
|
),
|
|
|
|
));
|
|
|
|
}
|
|
|
|
|
|
|
|
tableToTableList(t.Table table) {
|
|
|
|
TableList _tableList = TableList(
|
|
|
|
'', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '');
|
|
|
|
_tableList.id = table.id;
|
|
|
|
_tableList.rid = table.rid;
|
|
|
|
_tableList.tid = table.tid;
|
|
|
|
_tableList.name = table.name;
|
|
|
|
_tableList.tablePnum = table.table_pnum;
|
|
|
|
_tableList.sellerid = null;
|
|
|
|
_tableList.qrcode = null;
|
|
|
|
_tableList.mostPnum = table.most_pnum;
|
|
|
|
_tableList.hot = null;
|
|
|
|
_tableList.orderO = table.order_o;
|
|
|
|
_tableList.status = table.status;
|
|
|
|
_tableList.enable = table.enable;
|
|
|
|
_tableList.spell = table.spell;
|
|
|
|
_tableList.cdate = null;
|
|
|
|
_tableList.rname = table.rname;
|
|
|
|
_tableList.regionName = table.rname;
|
|
|
|
_tableList.selected = true;
|
|
|
|
return _tableList;
|
|
|
|
}
|
|
|
|
|
|
|
|
tableListToTable(TableList table) {
|
|
|
|
t.Table _table = t.Table();
|
|
|
|
_table.id = table.id;
|
|
|
|
_table.rid = table.rid;
|
|
|
|
_table.tid = table.tid;
|
|
|
|
_table.name = table.name;
|
|
|
|
_table.table_pnum = table.table_pnum;
|
|
|
|
// _table.sellerid = null;
|
|
|
|
// _table.qrcode = null;
|
|
|
|
_table.most_pnum = table.mostPnum;
|
|
|
|
// _table.hot = null;
|
|
|
|
_table.order_o = table.orderO;
|
|
|
|
_table.status = table.status;
|
|
|
|
_table.enable = table.enable;
|
|
|
|
_table.spell = table.spell;
|
|
|
|
// _table.cdate = null;
|
|
|
|
_table.rname = table.rname;
|
|
|
|
_table.rname = table.regionName;
|
|
|
|
_table.selected = true;
|
|
|
|
return _table;
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|