Showing
9 changed files
with
766 additions
and
197 deletions
| @@ -285,7 +285,8 @@ class _VerificationCouponPageState extends State<VerificationCouponPage> { | @@ -285,7 +285,8 @@ class _VerificationCouponPageState extends State<VerificationCouponPage> { | ||
| 285 | : model.orderRechargeByidSunModel | 285 | : model.orderRechargeByidSunModel |
| 286 | .activity.use.isDish | 286 | .activity.use.isDish |
| 287 | ? model | 287 | ? model |
| 288 | - .couponSunModel.use.dish | 288 | + .orderRechargeByidSunModel |
| 289 | + .activity.use.dish | ||
| 289 | : '', | 290 | : '', |
| 290 | textColor: MyColours.color_438E93, | 291 | textColor: MyColours.color_438E93, |
| 291 | fontSize: 20), | 292 | fontSize: 20), |
| @@ -40,9 +40,17 @@ class SelectTableFPage extends StatefulWidget { | @@ -40,9 +40,17 @@ class SelectTableFPage extends StatefulWidget { | ||
| 40 | final List<TableList> tableList; | 40 | final List<TableList> tableList; |
| 41 | final String fromPage; | 41 | final String fromPage; |
| 42 | final String tid; | 42 | final String tid; |
| 43 | - | 43 | + final String hmS; |
| 44 | + final String hmE; | ||
| 45 | + final String source; | ||
| 44 | SelectTableFPage(this.rid, this.dateTime, this.ddate_slot, | 46 | SelectTableFPage(this.rid, this.dateTime, this.ddate_slot, |
| 45 | - {this.canChoose = false, this.tableList, this.fromPage, this.tid}); | 47 | + {this.canChoose = false, |
| 48 | + this.tableList, | ||
| 49 | + this.fromPage, | ||
| 50 | + this.tid, | ||
| 51 | + this.hmS, | ||
| 52 | + this.hmE, | ||
| 53 | + this.source = '0'}); | ||
| 46 | 54 | ||
| 47 | @override | 55 | @override |
| 48 | State<StatefulWidget> createState() { | 56 | State<StatefulWidget> createState() { |
| @@ -232,18 +240,41 @@ class SelectTableFPageState extends State<SelectTableFPage> { | @@ -232,18 +240,41 @@ class SelectTableFPageState extends State<SelectTableFPage> { | ||
| 232 | //获取预订(原来普通预订和宴会预订) | 240 | //获取预订(原来普通预订和宴会预订) |
| 233 | _getReserveListAndFeastData(context, params, showloading) async { | 241 | _getReserveListAndFeastData(context, params, showloading) async { |
| 234 | UserModel userModel = Provider.of<UserModel>(context, listen: false); | 242 | UserModel userModel = Provider.of<UserModel>(context, listen: false); |
| 243 | + String hmsS = " ${widget.hmS}:00"; //起始 | ||
| 244 | + String hmsE = " ${widget.hmE}:59"; //结束 | ||
| 245 | + // String keys = ''; | ||
| 246 | + // if (widget.ddate_slot == '1') { | ||
| 247 | + // //早市 | ||
| 248 | + // keys = 'morning'; | ||
| 249 | + // } else if (widget.ddate_slot == '2') { | ||
| 250 | + // //午市 | ||
| 251 | + // keys = 'noon'; | ||
| 252 | + // } else if (widget.ddate_slot == '3') { | ||
| 253 | + // //晚市 | ||
| 254 | + // keys = 'night'; | ||
| 255 | + // } | ||
| 256 | + | ||
| 257 | + // if (keys != '') { | ||
| 258 | + // List temp = dailyMap[keys]; | ||
| 259 | + // hmsS = " ${temp.first}:00"; | ||
| 260 | + // hmsE = " ${temp.last}:59"; | ||
| 261 | + // } else { | ||
| 262 | + // hmsS = " 00:00:00"; | ||
| 263 | + // hmsE = " 23:59:59"; | ||
| 264 | + // } | ||
| 265 | + | ||
| 235 | String timeStrStart = widget.dateTime.year.toString() + | 266 | String timeStrStart = widget.dateTime.year.toString() + |
| 236 | "-" + | 267 | "-" + |
| 237 | Utils.addZeroNumber(widget.dateTime.month) + | 268 | Utils.addZeroNumber(widget.dateTime.month) + |
| 238 | "-" + | 269 | "-" + |
| 239 | Utils.addZeroNumber(widget.dateTime.day) + | 270 | Utils.addZeroNumber(widget.dateTime.day) + |
| 240 | - " 00:00:00"; | 271 | + hmsS; |
| 241 | String timeStrEnd = widget.dateTime.year.toString() + | 272 | String timeStrEnd = widget.dateTime.year.toString() + |
| 242 | "-" + | 273 | "-" + |
| 243 | Utils.addZeroNumber(widget.dateTime.month) + | 274 | Utils.addZeroNumber(widget.dateTime.month) + |
| 244 | "-" + | 275 | "-" + |
| 245 | Utils.addZeroNumber(widget.dateTime.day) + | 276 | Utils.addZeroNumber(widget.dateTime.day) + |
| 246 | - " 23:59:59"; | 277 | + hmsE; |
| 247 | String start = | 278 | String start = |
| 248 | (DateUtil.getDateMsByTimeStr(timeStrStart) / 1000).floor().toString(); | 279 | (DateUtil.getDateMsByTimeStr(timeStrStart) / 1000).floor().toString(); |
| 249 | String end = | 280 | String end = |
| @@ -253,7 +284,7 @@ class SelectTableFPageState extends State<SelectTableFPage> { | @@ -253,7 +284,7 @@ class SelectTableFPageState extends State<SelectTableFPage> { | ||
| 253 | 'sid': userModel.user.sellerid, | 284 | 'sid': userModel.user.sellerid, |
| 254 | 'rdate': '${start}', | 285 | 'rdate': '${start}', |
| 255 | 'edate': '${end}', | 286 | 'edate': '${end}', |
| 256 | - 'ddate_interval': widget.ddate_slot | 287 | + // 'ddate_interval': widget.ddate_slot |
| 257 | }; | 288 | }; |
| 258 | return await Future.wait<bool>([ | 289 | return await Future.wait<bool>([ |
| 259 | _getOldReserve(context, params, showloading), | 290 | _getOldReserve(context, params, showloading), |
| @@ -290,12 +321,15 @@ class SelectTableFPageState extends State<SelectTableFPage> { | @@ -290,12 +321,15 @@ class SelectTableFPageState extends State<SelectTableFPage> { | ||
| 290 | Map<String, String> params = { | 321 | Map<String, String> params = { |
| 291 | "sid": sid, | 322 | "sid": sid, |
| 292 | "rdate": _getRdate(), | 323 | "rdate": _getRdate(), |
| 293 | - "ddate_solt": widget.ddate_slot, | 324 | + // "ddate_solt": widget.ddate_slot, |
| 294 | "y": "200", | 325 | "y": "200", |
| 295 | "x": "1", | 326 | "x": "1", |
| 296 | "keywords": "", | 327 | "keywords": "", |
| 297 | "sort": "1" | 328 | "sort": "1" |
| 298 | }; | 329 | }; |
| 330 | + if (widget.source == '1') { | ||
| 331 | + params['source'] = '1'; | ||
| 332 | + } | ||
| 299 | // List<Notebook> noteBooks = | 333 | // List<Notebook> noteBooks = |
| 300 | // await model.getReserveList(context, params, needLoading: needLoading); | 334 | // await model.getReserveList(context, params, needLoading: needLoading); |
| 301 | bool success = | 335 | bool success = |
| @@ -313,28 +347,87 @@ class SelectTableFPageState extends State<SelectTableFPage> { | @@ -313,28 +347,87 @@ class SelectTableFPageState extends State<SelectTableFPage> { | ||
| 313 | }); | 347 | }); |
| 314 | }); | 348 | }); |
| 315 | // banquetByDateData.map((e) => null) | 349 | // banquetByDateData.map((e) => null) |
| 316 | - String banquetKey = ''; | ||
| 317 | - if (widget.ddate_slot == '1') { | ||
| 318 | - banquetKey = '早餐'; | ||
| 319 | - } else if (widget.ddate_slot == '2') { | ||
| 320 | - banquetKey = '午餐'; | ||
| 321 | - } else if (widget.ddate_slot == '3') { | ||
| 322 | - banquetKey = '晚餐'; | ||
| 323 | - } | 350 | + // String banquetKey = ''; |
| 351 | + // if (widget.ddate_slot == '1') { | ||
| 352 | + // banquetKey = '早餐'; | ||
| 353 | + // } else if (widget.ddate_slot == '2') { | ||
| 354 | + // banquetKey = '午餐'; | ||
| 355 | + // } else if (widget.ddate_slot == '3') { | ||
| 356 | + // banquetKey = '晚餐'; | ||
| 357 | + // } | ||
| 358 | + | ||
| 359 | + Map<String, List<FeastBoardSunModel>> banquetData = {}; | ||
| 324 | banquetByDateDataTemp.forEach((element) { | 360 | banquetByDateDataTemp.forEach((element) { |
| 325 | - FeastBoardSunModel feastBoardSunModel = element.data[banquetKey][0]; | ||
| 326 | - if (feastBoardSunModel.lost == null || feastBoardSunModel.lost == '') { | ||
| 327 | - //未丢单的宴会 | ||
| 328 | - Notebook notebook = Notebook(); | ||
| 329 | - notebook.tid = element.title; | ||
| 330 | - notebook.status = '10'; //宴会类型 | ||
| 331 | - notebook.className = feastBoardSunModel.className; | ||
| 332 | - notebook.id = feastBoardSunModel.rid; | ||
| 333 | - notebook.rname = feastBoardSunModel.rname; | ||
| 334 | - notebook.nick_name = | ||
| 335 | - feastBoardSunModel.nickName ?? feastBoardSunModel.account; | ||
| 336 | - noteBooks.add(notebook); | 361 | + List<FeastBoardSunModel> data = []; |
| 362 | + if (element.data['其他'].length > 0) { | ||
| 363 | + FeastBoardSunModel feastBoardSunModel = element.data['其他'][0]; | ||
| 364 | + if (feastBoardSunModel.lost == null || | ||
| 365 | + feastBoardSunModel.lost == '') { | ||
| 366 | + data.add(feastBoardSunModel); //未丢单宴会合集 | ||
| 367 | + } | ||
| 368 | + } | ||
| 369 | + if (element.data['早餐'].length > 0) { | ||
| 370 | + FeastBoardSunModel feastBoardSunModel = element.data['早餐'][0]; | ||
| 371 | + if (feastBoardSunModel.lost == null || | ||
| 372 | + feastBoardSunModel.lost == '') { | ||
| 373 | + data.add(feastBoardSunModel); //未丢单宴会合集 | ||
| 374 | + } | ||
| 375 | + } | ||
| 376 | + if (element.data['午餐'].length > 0) { | ||
| 377 | + FeastBoardSunModel feastBoardSunModel = element.data['午餐'][0]; | ||
| 378 | + if (feastBoardSunModel.lost == null || | ||
| 379 | + feastBoardSunModel.lost == '') { | ||
| 380 | + data.add(feastBoardSunModel); //未丢单宴会合集 | ||
| 381 | + } | ||
| 382 | + } | ||
| 383 | + if (element.data['晚餐'].length > 0) { | ||
| 384 | + FeastBoardSunModel feastBoardSunModel = element.data['晚餐'][0]; | ||
| 385 | + if (feastBoardSunModel.lost == null || | ||
| 386 | + feastBoardSunModel.lost == '') { | ||
| 387 | + data.add(feastBoardSunModel); //未丢单宴会合集 | ||
| 388 | + } | ||
| 337 | } | 389 | } |
| 390 | + if (!banquetData.containsKey(element.title)) { | ||
| 391 | + banquetData[element.title] = data; | ||
| 392 | + } | ||
| 393 | + }); | ||
| 394 | + | ||
| 395 | + List<String> tidsWidget = | ||
| 396 | + widget.tableList.map((element) => element.id).toList(); | ||
| 397 | + print(tidsWidget); | ||
| 398 | + banquetData.forEach((key, value) { | ||
| 399 | + value.forEach((element) { | ||
| 400 | + //未丢单的宴会 | ||
| 401 | + | ||
| 402 | + if (!tidsWidget.contains(key)) { | ||
| 403 | + //带过来的桌子,不能标记已预订,或者已经有宴会 | ||
| 404 | + Notebook notebook = Notebook(); | ||
| 405 | + notebook.tid = key; | ||
| 406 | + notebook.status = '10'; //宴会类型 | ||
| 407 | + notebook.className = element.className; | ||
| 408 | + notebook.id = element.rid; | ||
| 409 | + notebook.rname = element.rname; | ||
| 410 | + notebook.nick_name = element.nickName ?? element.account; | ||
| 411 | + noteBooks.add(notebook); | ||
| 412 | + } | ||
| 413 | + | ||
| 414 | + print(noteBooks); | ||
| 415 | + | ||
| 416 | + // banquetByDateDataTemp.forEach((element) { | ||
| 417 | + // FeastBoardSunModel feastBoardSunModel = element.data[banquetKey][0]; | ||
| 418 | + // if (feastBoardSunModel.lost == null || feastBoardSunModel.lost == '') { | ||
| 419 | + //未丢单的宴会 | ||
| 420 | + // Notebook notebook = Notebook(); | ||
| 421 | + // notebook.tid = element.title; | ||
| 422 | + // notebook.status = '10'; //宴会类型 | ||
| 423 | + // notebook.className = feastBoardSunModel.className; | ||
| 424 | + // notebook.id = feastBoardSunModel.rid; | ||
| 425 | + // notebook.rname = feastBoardSunModel.rname; | ||
| 426 | + // notebook.nick_name = | ||
| 427 | + // feastBoardSunModel.nickName ?? feastBoardSunModel.account; | ||
| 428 | + // noteBooks.add(notebook); | ||
| 429 | + // } | ||
| 430 | + }); | ||
| 338 | }); | 431 | }); |
| 339 | for (Notebook notebook in noteBooks) { | 432 | for (Notebook notebook in noteBooks) { |
| 340 | if (notebook.tid.isEmpty) continue; | 433 | if (notebook.tid.isEmpty) continue; |
| @@ -518,18 +611,20 @@ class SelectTableFPageState extends State<SelectTableFPage> { | @@ -518,18 +611,20 @@ class SelectTableFPageState extends State<SelectTableFPage> { | ||
| 518 | // timeStrStart = ymd + ' ' + temp.first + ':00'; | 611 | // timeStrStart = ymd + ' ' + temp.first + ':00'; |
| 519 | // timeStrEnd = ymd + ' ' + temp.last + ':00'; | 612 | // timeStrEnd = ymd + ' ' + temp.last + ':00'; |
| 520 | // } else { | 613 | // } else { |
| 614 | + String hmsS = " ${widget.hmS}:00"; //起始 | ||
| 615 | + String hmsE = " ${widget.hmE}:59"; //结束 | ||
| 521 | timeStrStart = widget.dateTime.year.toString() + | 616 | timeStrStart = widget.dateTime.year.toString() + |
| 522 | "-" + | 617 | "-" + |
| 523 | Utils.addZeroNumber(widget.dateTime.month) + | 618 | Utils.addZeroNumber(widget.dateTime.month) + |
| 524 | "-" + | 619 | "-" + |
| 525 | Utils.addZeroNumber(widget.dateTime.day) + | 620 | Utils.addZeroNumber(widget.dateTime.day) + |
| 526 | - " 00:00:00"; | 621 | + hmsS; |
| 527 | timeStrEnd = widget.dateTime.year.toString() + | 622 | timeStrEnd = widget.dateTime.year.toString() + |
| 528 | "-" + | 623 | "-" + |
| 529 | Utils.addZeroNumber(widget.dateTime.month) + | 624 | Utils.addZeroNumber(widget.dateTime.month) + |
| 530 | "-" + | 625 | "-" + |
| 531 | Utils.addZeroNumber(widget.dateTime.day) + | 626 | Utils.addZeroNumber(widget.dateTime.day) + |
| 532 | - " 23:59:59"; | 627 | + hmsE; |
| 533 | // } | 628 | // } |
| 534 | startDay = (DateTime.parse(timeStrStart).millisecondsSinceEpoch) / 1000; | 629 | startDay = (DateTime.parse(timeStrStart).millisecondsSinceEpoch) / 1000; |
| 535 | endDay = (DateTime.parse(timeStrEnd).millisecondsSinceEpoch) / 1000; | 630 | endDay = (DateTime.parse(timeStrEnd).millisecondsSinceEpoch) / 1000; |
| @@ -20,10 +20,14 @@ import '../../constant/state.dart'; | @@ -20,10 +20,14 @@ import '../../constant/state.dart'; | ||
| 20 | import '../../models/dsolt_xt.dart'; | 20 | import '../../models/dsolt_xt.dart'; |
| 21 | import '../../models/feast_menu_model.dart'; | 21 | import '../../models/feast_menu_model.dart'; |
| 22 | import '../../models/get_banquet_by_id_new_model.dart'; | 22 | import '../../models/get_banquet_by_id_new_model.dart'; |
| 23 | +import '../../models/get_board_model.dart'; | ||
| 24 | +import '../../models/notebook.dart'; | ||
| 23 | import '../../models/set_xuan_tai_model.dart'; | 25 | import '../../models/set_xuan_tai_model.dart'; |
| 24 | import '../../models/setmeal_by_id_model.dart'; | 26 | import '../../models/setmeal_by_id_model.dart'; |
| 25 | import '../../models/upload_img_model.dart'; | 27 | import '../../models/upload_img_model.dart'; |
| 28 | +import '../../provider/choose_table_model.dart'; | ||
| 26 | import '../../provider/feast_model.dart'; | 29 | import '../../provider/feast_model.dart'; |
| 30 | +import '../../provider/notebook_model.dart'; | ||
| 27 | import '../../provider/upload_img_provider.dart'; | 31 | import '../../provider/upload_img_provider.dart'; |
| 28 | import '../../provider/user_model.dart'; | 32 | import '../../provider/user_model.dart'; |
| 29 | import '../../res/colors.dart'; | 33 | import '../../res/colors.dart'; |
| @@ -43,6 +47,8 @@ import 'package:one_key/models/table_list.dart' as t; | @@ -43,6 +47,8 @@ import 'package:one_key/models/table_list.dart' as t; | ||
| 43 | import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart'; | 47 | import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart'; |
| 44 | import '../../widgets/special_text/my_extended_text_selection_controls.dart'; | 48 | import '../../widgets/special_text/my_extended_text_selection_controls.dart'; |
| 45 | 49 | ||
| 50 | +import 'package:one_key/models/table.dart' as table; | ||
| 51 | + | ||
| 46 | class FeastCreatePage extends StatefulWidget { | 52 | class FeastCreatePage extends StatefulWidget { |
| 47 | final GetBanquetByIdNewSunModel banquetDetail; | 53 | final GetBanquetByIdNewSunModel banquetDetail; |
| 48 | final bool isCreate; | 54 | final bool isCreate; |
| @@ -99,6 +105,10 @@ class _FeastCreatePageState extends State<FeastCreatePage> { | @@ -99,6 +105,10 @@ class _FeastCreatePageState extends State<FeastCreatePage> { | ||
| 99 | MyTextSelectionControls _myExtendedMaterialTextSelectionControls = | 105 | MyTextSelectionControls _myExtendedMaterialTextSelectionControls = |
| 100 | MyTextSelectionControls(); | 106 | MyTextSelectionControls(); |
| 101 | 107 | ||
| 108 | + ChooseTableModel _chooseTableModel; | ||
| 109 | + List<Notebook> noteBooks; | ||
| 110 | + Map<String, Notebook> tableMap = {}; //记录已预订桌位对应的订单 | ||
| 111 | + | ||
| 102 | @override | 112 | @override |
| 103 | void initState() { | 113 | void initState() { |
| 104 | // TODO: implement initState | 114 | // TODO: implement initState |
| @@ -1225,6 +1235,303 @@ class _FeastCreatePageState extends State<FeastCreatePage> { | @@ -1225,6 +1235,303 @@ class _FeastCreatePageState extends State<FeastCreatePage> { | ||
| 1225 | return startDay.floor().toString() + "-" + endDay.floor().toString(); | 1235 | return startDay.floor().toString() + "-" + endDay.floor().toString(); |
| 1226 | } | 1236 | } |
| 1227 | 1237 | ||
| 1238 | + //获取一天开始-结束时间字符串 | ||
| 1239 | + String _getRdateGetNotebook() { | ||
| 1240 | + String timeStrStart = ''; | ||
| 1241 | + String timeStrEnd = ''; | ||
| 1242 | + //一天开始时间 | ||
| 1243 | + double startDay; | ||
| 1244 | + //一天结束时间 | ||
| 1245 | + double endDay; | ||
| 1246 | + | ||
| 1247 | + SetXuanTaiModel setXuanTaiModel = xuantaiData[xuantaiSelIndex]; | ||
| 1248 | + | ||
| 1249 | + String hmsS = " ${setXuanTaiModel.startDate}:00"; //起始 | ||
| 1250 | + String hmsE = " ${setXuanTaiModel.endDate}:59"; //结束 | ||
| 1251 | + timeStrStart = setXuanTaiModel.dateTimext.year.toString() + | ||
| 1252 | + "-" + | ||
| 1253 | + Utils.addZeroNumber(setXuanTaiModel.dateTimext.month) + | ||
| 1254 | + "-" + | ||
| 1255 | + Utils.addZeroNumber(setXuanTaiModel.dateTimext.day) + | ||
| 1256 | + hmsS; | ||
| 1257 | + timeStrEnd = setXuanTaiModel.dateTimext.year.toString() + | ||
| 1258 | + "-" + | ||
| 1259 | + Utils.addZeroNumber(setXuanTaiModel.dateTimext.month) + | ||
| 1260 | + "-" + | ||
| 1261 | + Utils.addZeroNumber(setXuanTaiModel.dateTimext.day) + | ||
| 1262 | + hmsE; | ||
| 1263 | + // } | ||
| 1264 | + startDay = (DateTime.parse(timeStrStart).millisecondsSinceEpoch) / 1000; | ||
| 1265 | + endDay = (DateTime.parse(timeStrEnd).millisecondsSinceEpoch) / 1000; | ||
| 1266 | + return startDay.floor().toString() + "-" + endDay.floor().toString(); | ||
| 1267 | + } | ||
| 1268 | + | ||
| 1269 | + //获取预订(原来普通预订和宴会预订) | ||
| 1270 | + _getReserveListAndFeastData(context, params, showloading) async { | ||
| 1271 | + UserModel userModel = Provider.of<UserModel>(context, listen: false); | ||
| 1272 | + SetXuanTaiModel setXuanTaiModel = xuantaiData[xuantaiSelIndex]; | ||
| 1273 | + String timeStrStart = ''; | ||
| 1274 | + String timeStrEnd = ''; | ||
| 1275 | + String hmsS = " ${setXuanTaiModel.startDate}:00"; //起始 | ||
| 1276 | + String hmsE = " ${setXuanTaiModel.endDate}:59"; //结束 | ||
| 1277 | + timeStrStart = setXuanTaiModel.dateTimext.year.toString() + | ||
| 1278 | + "-" + | ||
| 1279 | + Utils.addZeroNumber(setXuanTaiModel.dateTimext.month) + | ||
| 1280 | + "-" + | ||
| 1281 | + Utils.addZeroNumber(setXuanTaiModel.dateTimext.day) + | ||
| 1282 | + hmsS; | ||
| 1283 | + timeStrEnd = setXuanTaiModel.dateTimext.year.toString() + | ||
| 1284 | + "-" + | ||
| 1285 | + Utils.addZeroNumber(setXuanTaiModel.dateTimext.month) + | ||
| 1286 | + "-" + | ||
| 1287 | + Utils.addZeroNumber(setXuanTaiModel.dateTimext.day) + | ||
| 1288 | + hmsE; | ||
| 1289 | + String start = | ||
| 1290 | + (DateUtil.getDateMsByTimeStr(timeStrStart) / 1000).floor().toString(); | ||
| 1291 | + String end = | ||
| 1292 | + (DateUtil.getDateMsByTimeStr(timeStrEnd) / 1000).floor().toString(); | ||
| 1293 | + | ||
| 1294 | + Map<String, String> banquetmap = { | ||
| 1295 | + 'sid': userModel.user.sellerid, | ||
| 1296 | + 'rdate': '${start}', | ||
| 1297 | + 'edate': '${end}', | ||
| 1298 | + // 'ddate_interval': widget.ddate_slot | ||
| 1299 | + }; | ||
| 1300 | + return await Future.wait<bool>([ | ||
| 1301 | + _getOldReserve(context, params, showloading), | ||
| 1302 | + _chooseTableModel.getBanquetByDate(context, banquetmap, | ||
| 1303 | + showLoading: showloading) | ||
| 1304 | + ]).then((results) { | ||
| 1305 | + if (results[0] && results[1]) { | ||
| 1306 | + //成功 | ||
| 1307 | + return true; | ||
| 1308 | + } else { | ||
| 1309 | + if (!results[0]) { | ||
| 1310 | + // Utils.showToast(''); | ||
| 1311 | + } else { | ||
| 1312 | + // Utils.showToast(''); | ||
| 1313 | + } | ||
| 1314 | + return false; | ||
| 1315 | + } | ||
| 1316 | + }).catchError((e) { | ||
| 1317 | + print(e); | ||
| 1318 | + return false; | ||
| 1319 | + }); | ||
| 1320 | + } | ||
| 1321 | + | ||
| 1322 | + Future<bool> _getOldReserve(context, params, showloading) async { | ||
| 1323 | + NoteBookModel model = new NoteBookModel(); | ||
| 1324 | + noteBooks = | ||
| 1325 | + await model.getReserveList(context, params, needLoading: showloading); | ||
| 1326 | + return true; | ||
| 1327 | + } | ||
| 1328 | + | ||
| 1329 | + //获取已预订列表 | ||
| 1330 | + _getReserveList({needLoading = true}) async { | ||
| 1331 | + Map<String, String> params = { | ||
| 1332 | + "sid": Provider.of<UserModel>(context, listen: false).user.sellerid, | ||
| 1333 | + "rdate": _getRdateGetNotebook(), | ||
| 1334 | + // "ddate_solt": widget.ddate_slot, | ||
| 1335 | + "y": "200", | ||
| 1336 | + "x": "1", | ||
| 1337 | + "keywords": "", | ||
| 1338 | + "sort": "1" | ||
| 1339 | + }; | ||
| 1340 | + | ||
| 1341 | + params['source'] = '1'; | ||
| 1342 | + | ||
| 1343 | + bool success = | ||
| 1344 | + await _getReserveListAndFeastData(context, params, needLoading); | ||
| 1345 | + if (success) { | ||
| 1346 | + List<FeastBoardModel> banquetByDateDataTemp = []; //转换为桌子id为key,data为value | ||
| 1347 | + _chooseTableModel.banquetByDateData.forEach((element) { | ||
| 1348 | + _chooseTableModel.tablesAll.forEach((table) { | ||
| 1349 | + if (table.name == element.title) { | ||
| 1350 | + FeastBoardModel feastBoardModel = FeastBoardModel(); | ||
| 1351 | + feastBoardModel.title = table.id; | ||
| 1352 | + feastBoardModel.data = element.data; | ||
| 1353 | + banquetByDateDataTemp.add(feastBoardModel); | ||
| 1354 | + } | ||
| 1355 | + }); | ||
| 1356 | + }); | ||
| 1357 | + // banquetByDateData.map((e) => null) | ||
| 1358 | + // String banquetKey = ''; | ||
| 1359 | + // if (widget.ddate_slot == '1') { | ||
| 1360 | + // banquetKey = '早餐'; | ||
| 1361 | + // } else if (widget.ddate_slot == '2') { | ||
| 1362 | + // banquetKey = '午餐'; | ||
| 1363 | + // } else if (widget.ddate_slot == '3') { | ||
| 1364 | + // banquetKey = '晚餐'; | ||
| 1365 | + // } | ||
| 1366 | + | ||
| 1367 | + Map<String, List<FeastBoardSunModel>> banquetData = {}; | ||
| 1368 | + banquetByDateDataTemp.forEach((element) { | ||
| 1369 | + List<FeastBoardSunModel> data = []; | ||
| 1370 | + if (element.data['其他'].length > 0) { | ||
| 1371 | + FeastBoardSunModel feastBoardSunModel = element.data['其他'][0]; | ||
| 1372 | + if (feastBoardSunModel.lost == null || | ||
| 1373 | + feastBoardSunModel.lost == '') { | ||
| 1374 | + data.add(feastBoardSunModel); //未丢单宴会合集 | ||
| 1375 | + } | ||
| 1376 | + } | ||
| 1377 | + if (element.data['早餐'].length > 0) { | ||
| 1378 | + FeastBoardSunModel feastBoardSunModel = element.data['早餐'][0]; | ||
| 1379 | + if (feastBoardSunModel.lost == null || | ||
| 1380 | + feastBoardSunModel.lost == '') { | ||
| 1381 | + data.add(feastBoardSunModel); //未丢单宴会合集 | ||
| 1382 | + } | ||
| 1383 | + } | ||
| 1384 | + if (element.data['午餐'].length > 0) { | ||
| 1385 | + FeastBoardSunModel feastBoardSunModel = element.data['午餐'][0]; | ||
| 1386 | + if (feastBoardSunModel.lost == null || | ||
| 1387 | + feastBoardSunModel.lost == '') { | ||
| 1388 | + data.add(feastBoardSunModel); //未丢单宴会合集 | ||
| 1389 | + } | ||
| 1390 | + } | ||
| 1391 | + if (element.data['晚餐'].length > 0) { | ||
| 1392 | + FeastBoardSunModel feastBoardSunModel = element.data['晚餐'][0]; | ||
| 1393 | + if (feastBoardSunModel.lost == null || | ||
| 1394 | + feastBoardSunModel.lost == '') { | ||
| 1395 | + data.add(feastBoardSunModel); //未丢单宴会合集 | ||
| 1396 | + } | ||
| 1397 | + } | ||
| 1398 | + if (!banquetData.containsKey(element.title)) { | ||
| 1399 | + banquetData[element.title] = data; | ||
| 1400 | + } | ||
| 1401 | + }); | ||
| 1402 | + | ||
| 1403 | + List<String> tidsWidget = xuantaiData[xuantaiSelIndex] | ||
| 1404 | + .tableList | ||
| 1405 | + .map((element) => element.id) | ||
| 1406 | + .toList(); | ||
| 1407 | + print(tidsWidget); | ||
| 1408 | + banquetData.forEach((key, value) { | ||
| 1409 | + value.forEach((element) { | ||
| 1410 | + //未丢单的宴会 | ||
| 1411 | + | ||
| 1412 | + if (!tidsWidget.contains(key)) { | ||
| 1413 | + //带过来的桌子,不能标记已预订,或者已经有宴会 | ||
| 1414 | + Notebook notebook = Notebook(); | ||
| 1415 | + notebook.tid = key; | ||
| 1416 | + notebook.status = '10'; //宴会类型 | ||
| 1417 | + notebook.className = element.className; | ||
| 1418 | + notebook.id = element.rid; | ||
| 1419 | + notebook.rname = element.rname; | ||
| 1420 | + notebook.nick_name = element.nickName ?? element.account; | ||
| 1421 | + noteBooks.add(notebook); | ||
| 1422 | + } | ||
| 1423 | + | ||
| 1424 | + print(noteBooks); | ||
| 1425 | + }); | ||
| 1426 | + }); | ||
| 1427 | + for (Notebook notebook in noteBooks) { | ||
| 1428 | + if (notebook.tid.isEmpty) continue; | ||
| 1429 | + if (notebook.status == "1" || | ||
| 1430 | + notebook.status == "2" || | ||
| 1431 | + notebook.status == "5" || | ||
| 1432 | + notebook.status == "10") { | ||
| 1433 | + //已预订,用餐中,已安排 | ||
| 1434 | + List<String> tids = notebook.tid.split(","); | ||
| 1435 | + for (String tid in tids) { | ||
| 1436 | + tableMap["$tid"] = notebook; | ||
| 1437 | + } | ||
| 1438 | + } | ||
| 1439 | + } | ||
| 1440 | + | ||
| 1441 | + // List<Notebook> noteBooks = | ||
| 1442 | + // await newGetReserveList(context, params, showLoading: showloading); | ||
| 1443 | + List<t.TableList> tempSelectTables = []; | ||
| 1444 | + tempSelectTables.addAll(xuantaiData[xuantaiSelIndex].tableList); | ||
| 1445 | + String msg = ''; | ||
| 1446 | + for (Notebook notebook in noteBooks) { | ||
| 1447 | + if (notebook.tid.isEmpty) continue; | ||
| 1448 | + | ||
| 1449 | + //已预订,用餐中,已安排 | ||
| 1450 | + List<String> tids = notebook.tid.split(","); | ||
| 1451 | + for (String tid in tids) { | ||
| 1452 | + if (notebook.status == "1" || | ||
| 1453 | + notebook.status == "2" || | ||
| 1454 | + notebook.status == "5" || | ||
| 1455 | + notebook.status == "10") { | ||
| 1456 | + tableMap["$tid"] = notebook; | ||
| 1457 | + | ||
| 1458 | + ///预订按钮点击的时候提醒已经被预订的桌子 | ||
| 1459 | + /// | ||
| 1460 | + if (xuantaiData[xuantaiSelIndex].tableList.length > 0) { | ||
| 1461 | + for (t.TableList item in xuantaiData[xuantaiSelIndex].tableList) { | ||
| 1462 | + // if (item.isMerge == '1') { | ||
| 1463 | + // // (tids.contains(item.tids)) | ||
| 1464 | + // List<String> mergetids = item.tids.split(','); | ||
| 1465 | + // outerloop: | ||
| 1466 | + // for (int i = 0; i < mergetids.length; i++) { | ||
| 1467 | + // String mergetid = mergetids[i]; | ||
| 1468 | + // if (tids.contains(mergetid)) { | ||
| 1469 | + // msg += '${item.name},'; | ||
| 1470 | + // tempSelectTables.remove(item); | ||
| 1471 | + // break outerloop; | ||
| 1472 | + // } | ||
| 1473 | + // } | ||
| 1474 | + // } | ||
| 1475 | + if (item.id == tid) { | ||
| 1476 | + msg += '${item.name},'; | ||
| 1477 | + tempSelectTables.remove(item); | ||
| 1478 | + xuantaiData[xuantaiSelIndex] | ||
| 1479 | + .tids | ||
| 1480 | + .removeWhere((element) => element.tid == tid); | ||
| 1481 | + } | ||
| 1482 | + } | ||
| 1483 | + } | ||
| 1484 | + } | ||
| 1485 | + } | ||
| 1486 | + // if (xuantaiData[xuantaiSelIndex].tableList.length > 0 && | ||
| 1487 | + // notebook.status == "1" || | ||
| 1488 | + // notebook.status == "2" || | ||
| 1489 | + // notebook.status == "5" || | ||
| 1490 | + // notebook.status == "10") { | ||
| 1491 | + // outerloop: | ||
| 1492 | + // for (t.TableList item in xuantaiData[xuantaiSelIndex].tableList) { | ||
| 1493 | + // if (item.isMerge == '1') { | ||
| 1494 | + // // (tids.contains(item.tids)) | ||
| 1495 | + // List<String> mergetids = item.tids.split(','); | ||
| 1496 | + | ||
| 1497 | + // for (int i = 0; i < mergetids.length; i++) { | ||
| 1498 | + // String mergetid = mergetids[i]; | ||
| 1499 | + // if (tids.contains(mergetid)) { | ||
| 1500 | + // msg += '${item.name},'; | ||
| 1501 | + // tempSelectTables.remove(item); | ||
| 1502 | + // break outerloop; | ||
| 1503 | + // } | ||
| 1504 | + // } | ||
| 1505 | + // } | ||
| 1506 | + // } | ||
| 1507 | + // } | ||
| 1508 | + } | ||
| 1509 | + if (msg != '' && xuantaiData[xuantaiSelIndex].tableList.length > 0) { | ||
| 1510 | + if (msg.endsWith(',')) { | ||
| 1511 | + msg = msg.substring(0, msg.length - 1); | ||
| 1512 | + } | ||
| 1513 | + xuantaiData[xuantaiSelIndex].tableList = tempSelectTables; | ||
| 1514 | + Utils.showToast('${msg}已被预订,请选择其他桌位!'); | ||
| 1515 | + print(tableMap); | ||
| 1516 | + | ||
| 1517 | + xuantaiData[xuantaiSelIndex].tableSum = 0; | ||
| 1518 | + | ||
| 1519 | + xuantaiData[xuantaiSelIndex].tids.forEach((element) { | ||
| 1520 | + xuantaiData[xuantaiSelIndex].tableSum += element.numStr; | ||
| 1521 | + }); | ||
| 1522 | + | ||
| 1523 | + setState(() {}); | ||
| 1524 | + // initData(needKeep: needKeep); | ||
| 1525 | + | ||
| 1526 | + // notifyListeners(); | ||
| 1527 | + return false; | ||
| 1528 | + } | ||
| 1529 | + | ||
| 1530 | + // print(tableMap); | ||
| 1531 | + } | ||
| 1532 | + return true; | ||
| 1533 | + } | ||
| 1534 | + | ||
| 1228 | /// 选台保存接口 | 1535 | /// 选台保存接口 |
| 1229 | Future<bool> xtSave() async { | 1536 | Future<bool> xtSave() async { |
| 1230 | //判断非空选项,并弹窗提醒用户填写信息 | 1537 | //判断非空选项,并弹窗提醒用户填写信息 |
| @@ -1245,7 +1552,8 @@ class _FeastCreatePageState extends State<FeastCreatePage> { | @@ -1245,7 +1552,8 @@ class _FeastCreatePageState extends State<FeastCreatePage> { | ||
| 1245 | canRequest = false; | 1552 | canRequest = false; |
| 1246 | break outerloop; | 1553 | break outerloop; |
| 1247 | } | 1554 | } |
| 1248 | - if (element.cdShow == '不带餐' && element.qsDateShow == '暂未选择') { | 1555 | + // if (element.cdShow == '不带餐' && element.qsDateShow == '暂未选择') { |
| 1556 | + if (element.qsDateShow == '暂未选择') { | ||
| 1249 | Utils.showToast('请选择${reserveOrder}起始时间'); | 1557 | Utils.showToast('请选择${reserveOrder}起始时间'); |
| 1250 | canRequest = false; | 1558 | canRequest = false; |
| 1251 | break outerloop; | 1559 | break outerloop; |
| @@ -1658,13 +1966,14 @@ class _FeastCreatePageState extends State<FeastCreatePage> { | @@ -1658,13 +1966,14 @@ class _FeastCreatePageState extends State<FeastCreatePage> { | ||
| 1658 | .then((day) async { | 1966 | .then((day) async { |
| 1659 | if (day != null) { | 1967 | if (day != null) { |
| 1660 | setState(() { | 1968 | setState(() { |
| 1661 | - xuantaiData[xuantaiSelIndex].tids = []; | ||
| 1662 | - xuantaiData[xuantaiSelIndex].tableList = []; | ||
| 1663 | - xuantaiData[xuantaiSelIndex].tableSum = 0; | 1969 | + // xuantaiData[xuantaiSelIndex].tids = []; |
| 1970 | + // xuantaiData[xuantaiSelIndex].tableList = []; | ||
| 1971 | + // xuantaiData[xuantaiSelIndex].tableSum = 0; | ||
| 1664 | xuantaiData[xuantaiSelIndex].dateTimext = day; | 1972 | xuantaiData[xuantaiSelIndex].dateTimext = day; |
| 1665 | xuantaiData[xuantaiSelIndex].dateTimeShowxt = | 1973 | xuantaiData[xuantaiSelIndex].dateTimeShowxt = |
| 1666 | createDateText(context, day); | 1974 | createDateText(context, day); |
| 1667 | }); | 1975 | }); |
| 1976 | + _getReserveList(); | ||
| 1668 | } | 1977 | } |
| 1669 | }); | 1978 | }); |
| 1670 | }), | 1979 | }), |
| @@ -1703,16 +2012,22 @@ class _FeastCreatePageState extends State<FeastCreatePage> { | @@ -1703,16 +2012,22 @@ class _FeastCreatePageState extends State<FeastCreatePage> { | ||
| 1703 | }), | 2012 | }), |
| 1704 | _selectWidget( | 2013 | _selectWidget( |
| 1705 | '起始时间', xuantaiData[xuantaiSelIndex].qsDateShow, | 2014 | '起始时间', xuantaiData[xuantaiSelIndex].qsDateShow, |
| 1706 | - need: xuantaiData[xuantaiSelIndex].cdShow == '不带餐' | ||
| 1707 | - ? true | ||
| 1708 | - : false, onTap: () { | 2015 | + // need: xuantaiData[xuantaiSelIndex].cdShow == '不带餐' |
| 2016 | + // ? true | ||
| 2017 | + // : false, | ||
| 2018 | + need: true, onTap: () { | ||
| 1709 | FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘 | 2019 | FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘 |
| 1710 | 2020 | ||
| 1711 | SetTimeWidget.init.showFeastTimeSelector( | 2021 | SetTimeWidget.init.showFeastTimeSelector( |
| 1712 | context, | 2022 | context, |
| 1713 | SetTimeWidget.init.getFeastDateData('00:00-23:30'), | 2023 | SetTimeWidget.init.getFeastDateData('00:00-23:30'), |
| 1714 | - xuantaiData[xuantaiSelIndex].startDate, | ||
| 1715 | - xuantaiData[xuantaiSelIndex].endDate, (value) { | 2024 | + xuantaiData[xuantaiSelIndex].startDate == '' |
| 2025 | + ? '8:00' | ||
| 2026 | + : xuantaiData[xuantaiSelIndex].startDate, | ||
| 2027 | + xuantaiData[xuantaiSelIndex].endDate == '' | ||
| 2028 | + ? '8:00' | ||
| 2029 | + : xuantaiData[xuantaiSelIndex].endDate, | ||
| 2030 | + (value) { | ||
| 1716 | if (value != null) { | 2031 | if (value != null) { |
| 1717 | xuantaiData[xuantaiSelIndex].startDate = | 2032 | xuantaiData[xuantaiSelIndex].startDate = |
| 1718 | SetTimeWidget.init.getSelectTitle(value[0]); | 2033 | SetTimeWidget.init.getSelectTitle(value[0]); |
| @@ -1950,121 +2265,139 @@ class _FeastCreatePageState extends State<FeastCreatePage> { | @@ -1950,121 +2265,139 @@ class _FeastCreatePageState extends State<FeastCreatePage> { | ||
| 1950 | onPressed: () async { | 2265 | onPressed: () async { |
| 1951 | FocusScope.of(context) | 2266 | FocusScope.of(context) |
| 1952 | .requestFocus(FocusNode()); //点击空白处隐藏键盘 | 2267 | .requestFocus(FocusNode()); //点击空白处隐藏键盘 |
| 2268 | + if (xuantaiData[xuantaiSelIndex] | ||
| 2269 | + .dateTimeShowxt == | ||
| 2270 | + '请选择') { | ||
| 2271 | + Utils.showToast('请选择宴会日期'); | ||
| 2272 | + return; | ||
| 2273 | + } | ||
| 1953 | if (xuantaiData[xuantaiSelIndex].cdShow == | 2274 | if (xuantaiData[xuantaiSelIndex].cdShow == |
| 1954 | '请选择') { | 2275 | '请选择') { |
| 1955 | Utils.showToast('请选择餐段'); | 2276 | Utils.showToast('请选择餐段'); |
| 1956 | return; | 2277 | return; |
| 1957 | } | 2278 | } |
| 2279 | + if (xuantaiData[xuantaiSelIndex].qsDateShow == | ||
| 2280 | + '暂未选择') { | ||
| 2281 | + Utils.showToast('请选择起始时间'); | ||
| 2282 | + return; | ||
| 2283 | + } | ||
| 1958 | 2284 | ||
| 1959 | - if (xuantaiData[xuantaiSelIndex].cdShow == | ||
| 1960 | - '不带餐') { | ||
| 1961 | - Map temp = {}; | ||
| 1962 | - if (xuantaiData[xuantaiSelIndex] | ||
| 1963 | - .tableList != | ||
| 1964 | - null && | ||
| 1965 | - xuantaiData[xuantaiSelIndex] | ||
| 1966 | - .tableList | ||
| 1967 | - .length > | ||
| 1968 | - 0) { | ||
| 1969 | - temp = await NavigatorUtil | ||
| 1970 | - .goFeastSelectTablePage(context, | ||
| 1971 | - object: { | ||
| 1972 | - 'object': | ||
| 1973 | - xuantaiData[xuantaiSelIndex] | ||
| 1974 | - .tableList | ||
| 1975 | - }); | ||
| 1976 | - } else { | ||
| 1977 | - temp = await NavigatorUtil | ||
| 1978 | - .goFeastSelectTablePage( | ||
| 1979 | - context, | ||
| 1980 | - ); | ||
| 1981 | - } | 2285 | + // if (xuantaiData[xuantaiSelIndex].cdShow == |
| 2286 | + // '不带餐') { | ||
| 2287 | + // Map temp = {}; | ||
| 2288 | + // if (xuantaiData[xuantaiSelIndex] | ||
| 2289 | + // .tableList != | ||
| 2290 | + // null && | ||
| 2291 | + // xuantaiData[xuantaiSelIndex] | ||
| 2292 | + // .tableList | ||
| 2293 | + // .length > | ||
| 2294 | + // 0) { | ||
| 2295 | + // temp = await NavigatorUtil | ||
| 2296 | + // .goFeastSelectTablePage(context, | ||
| 2297 | + // object: { | ||
| 2298 | + // 'object': | ||
| 2299 | + // xuantaiData[xuantaiSelIndex] | ||
| 2300 | + // .tableList | ||
| 2301 | + // }); | ||
| 2302 | + // } else { | ||
| 2303 | + // temp = await NavigatorUtil | ||
| 2304 | + // .goFeastSelectTablePage( | ||
| 2305 | + // context, | ||
| 2306 | + // ); | ||
| 2307 | + // } | ||
| 2308 | + | ||
| 2309 | + // if (temp == null) { | ||
| 2310 | + // } else if (temp['object'].length == 0) { | ||
| 2311 | + // } else { | ||
| 2312 | + // xuantaiData[xuantaiSelIndex].tids = []; | ||
| 2313 | + // xuantaiData[xuantaiSelIndex].tableList = | ||
| 2314 | + // temp['object']; | ||
| 2315 | + | ||
| 2316 | + // for (t.TableList item | ||
| 2317 | + // in xuantaiData[xuantaiSelIndex] | ||
| 2318 | + // .tableList) { | ||
| 2319 | + // item.selected = true; | ||
| 2320 | + // Tids tids = Tids(); | ||
| 2321 | + // tids.tid = item.id; | ||
| 2322 | + // tids.name = item.name ?? ""; | ||
| 2323 | + // xuantaiData[xuantaiSelIndex] | ||
| 2324 | + // .tids | ||
| 2325 | + // .add(tids); | ||
| 2326 | + // } | ||
| 2327 | + // setState(() {}); | ||
| 2328 | + // } | ||
| 2329 | + // } else { | ||
| 2330 | + // if (xuantaiData[xuantaiSelIndex] | ||
| 2331 | + // .dateTimeShowxt == | ||
| 2332 | + // '请选择') { | ||
| 2333 | + // Utils.showToast('请选择宴会日期'); | ||
| 2334 | + // return; | ||
| 2335 | + // } | ||
| 2336 | + //带餐 | ||
| 2337 | + int ddate = xuantaiData[xuantaiSelIndex] | ||
| 2338 | + .dateTimext | ||
| 2339 | + .millisecondsSinceEpoch; | ||
| 2340 | + String ddateSolt = dsoltList[ | ||
| 2341 | + xuantaiData[xuantaiSelIndex] | ||
| 2342 | + .cdSelIndex] | ||
| 2343 | + .id; | ||
| 1982 | 2344 | ||
| 1983 | - if (temp == null) { | ||
| 1984 | - } else if (temp['object'].length == 0) { | ||
| 1985 | - } else { | ||
| 1986 | - xuantaiData[xuantaiSelIndex].tids = []; | ||
| 1987 | - xuantaiData[xuantaiSelIndex].tableList = | ||
| 1988 | - temp['object']; | ||
| 1989 | - | ||
| 1990 | - for (t.TableList item | ||
| 1991 | - in xuantaiData[xuantaiSelIndex] | ||
| 1992 | - .tableList) { | ||
| 1993 | - item.selected = true; | ||
| 1994 | - Tids tids = Tids(); | ||
| 1995 | - tids.tid = item.id; | ||
| 1996 | - tids.name = item.name ?? ""; | ||
| 1997 | - xuantaiData[xuantaiSelIndex] | ||
| 1998 | - .tids | ||
| 1999 | - .add(tids); | ||
| 2000 | - } | ||
| 2001 | - setState(() {}); | ||
| 2002 | - } | 2345 | + Map temp = {}; |
| 2346 | + if (xuantaiData[xuantaiSelIndex].tableList != | ||
| 2347 | + null && | ||
| 2348 | + xuantaiData[xuantaiSelIndex] | ||
| 2349 | + .tableList | ||
| 2350 | + .length > | ||
| 2351 | + 0) { | ||
| 2352 | + temp = | ||
| 2353 | + await NavigatorUtil.goSelectTableFPage( | ||
| 2354 | + context, '', ddate, ddateSolt, | ||
| 2355 | + canChoose: true, | ||
| 2356 | + hmS: xuantaiData[xuantaiSelIndex] | ||
| 2357 | + .startDate, | ||
| 2358 | + hmE: xuantaiData[xuantaiSelIndex] | ||
| 2359 | + .endDate, | ||
| 2360 | + source: '1', | ||
| 2361 | + object: { | ||
| 2362 | + 'object': xuantaiData[xuantaiSelIndex] | ||
| 2363 | + .tableList | ||
| 2364 | + }); | ||
| 2003 | } else { | 2365 | } else { |
| 2004 | - if (xuantaiData[xuantaiSelIndex] | ||
| 2005 | - .dateTimeShowxt == | ||
| 2006 | - '请选择') { | ||
| 2007 | - Utils.showToast('请选择宴会日期'); | ||
| 2008 | - return; | ||
| 2009 | - } | ||
| 2010 | - //带餐 | ||
| 2011 | - int ddate = xuantaiData[xuantaiSelIndex] | ||
| 2012 | - .dateTimext | ||
| 2013 | - .millisecondsSinceEpoch; | ||
| 2014 | - String ddateSolt = dsoltList[ | ||
| 2015 | - xuantaiData[xuantaiSelIndex] | ||
| 2016 | - .cdSelIndex] | ||
| 2017 | - .id; | 2366 | + temp = |
| 2367 | + await NavigatorUtil.goSelectTableFPage( | ||
| 2368 | + context, | ||
| 2369 | + '', | ||
| 2370 | + ddate, | ||
| 2371 | + ddateSolt, | ||
| 2372 | + hmS: xuantaiData[xuantaiSelIndex] | ||
| 2373 | + .startDate, | ||
| 2374 | + hmE: xuantaiData[xuantaiSelIndex].endDate, | ||
| 2375 | + source: '1', | ||
| 2376 | + canChoose: true, | ||
| 2377 | + ); | ||
| 2378 | + } | ||
| 2018 | 2379 | ||
| 2019 | - Map temp = {}; | ||
| 2020 | - if (xuantaiData[xuantaiSelIndex] | ||
| 2021 | - .tableList != | ||
| 2022 | - null && | ||
| 2023 | - xuantaiData[xuantaiSelIndex] | ||
| 2024 | - .tableList | ||
| 2025 | - .length > | ||
| 2026 | - 0) { | ||
| 2027 | - temp = await NavigatorUtil | ||
| 2028 | - .goSelectTableFPage( | ||
| 2029 | - context, '', ddate, ddateSolt, | ||
| 2030 | - canChoose: true, | ||
| 2031 | - object: { | ||
| 2032 | - 'object': | ||
| 2033 | - xuantaiData[xuantaiSelIndex] | ||
| 2034 | - .tableList | ||
| 2035 | - }); | ||
| 2036 | - } else { | ||
| 2037 | - temp = await NavigatorUtil | ||
| 2038 | - .goSelectTableFPage( | ||
| 2039 | - context, | ||
| 2040 | - '', | ||
| 2041 | - ddate, | ||
| 2042 | - ddateSolt, | ||
| 2043 | - canChoose: true, | ||
| 2044 | - ); | ||
| 2045 | - } | 2380 | + if (temp == null) { |
| 2381 | + } else if (temp['object'].length == 0) { | ||
| 2382 | + } else { | ||
| 2383 | + xuantaiData[xuantaiSelIndex].tids = []; | ||
| 2384 | + xuantaiData[xuantaiSelIndex].tableList = | ||
| 2385 | + temp['object']; | ||
| 2046 | 2386 | ||
| 2047 | - if (temp == null) { | ||
| 2048 | - } else if (temp['object'].length == 0) { | ||
| 2049 | - } else { | ||
| 2050 | - xuantaiData[xuantaiSelIndex].tids = []; | ||
| 2051 | - xuantaiData[xuantaiSelIndex].tableList = | ||
| 2052 | - temp['object']; | ||
| 2053 | - | ||
| 2054 | - for (t.TableList item | ||
| 2055 | - in xuantaiData[xuantaiSelIndex] | ||
| 2056 | - .tableList) { | ||
| 2057 | - item.selected = true; | ||
| 2058 | - Tids tids = Tids(); | ||
| 2059 | - tids.tid = item.id; | ||
| 2060 | - tids.name = item.name ?? ""; | ||
| 2061 | - xuantaiData[xuantaiSelIndex] | ||
| 2062 | - .tids | ||
| 2063 | - .add(tids); | ||
| 2064 | - } | ||
| 2065 | - setState(() {}); | 2387 | + for (t.TableList item |
| 2388 | + in xuantaiData[xuantaiSelIndex] | ||
| 2389 | + .tableList) { | ||
| 2390 | + item.selected = true; | ||
| 2391 | + Tids tids = Tids(); | ||
| 2392 | + tids.tid = item.id; | ||
| 2393 | + tids.name = item.name ?? ""; | ||
| 2394 | + xuantaiData[xuantaiSelIndex] | ||
| 2395 | + .tids | ||
| 2396 | + .add(tids); | ||
| 2066 | } | 2397 | } |
| 2398 | + setState(() {}); | ||
| 2067 | } | 2399 | } |
| 2400 | + // } | ||
| 2068 | }, | 2401 | }, |
| 2069 | ), | 2402 | ), |
| 2070 | VEmptyView(52), | 2403 | VEmptyView(52), |
| @@ -4646,6 +4979,8 @@ class _FeastCreatePageState extends State<FeastCreatePage> { | @@ -4646,6 +4979,8 @@ class _FeastCreatePageState extends State<FeastCreatePage> { | ||
| 4646 | userModel = Provider.of<UserModel>(context, listen: false); | 4979 | userModel = Provider.of<UserModel>(context, listen: false); |
| 4647 | _uploadImageProvider = | 4980 | _uploadImageProvider = |
| 4648 | Provider.of<UploadImageProvider>(context, listen: true); | 4981 | Provider.of<UploadImageProvider>(context, listen: true); |
| 4982 | + | ||
| 4983 | + _chooseTableModel = Provider.of<ChooseTableModel>(context, listen: false); | ||
| 4649 | return KeyboardDismissOnTap( | 4984 | return KeyboardDismissOnTap( |
| 4650 | child: Scaffold( | 4985 | child: Scaffold( |
| 4651 | backgroundColor: MyColours.color_ffffff, | 4986 | backgroundColor: MyColours.color_ffffff, |
| @@ -87,7 +87,7 @@ class _MessageHasOrderFoodPageState extends State<MessageHasOrderFoodPage> { | @@ -87,7 +87,7 @@ class _MessageHasOrderFoodPageState extends State<MessageHasOrderFoodPage> { | ||
| 87 | sumMemberPrice += double.parse( | 87 | sumMemberPrice += double.parse( |
| 88 | element.specMemberPrice == '0' || element.specMemberPrice == null | 88 | element.specMemberPrice == '0' || element.specMemberPrice == null |
| 89 | ? element.specPrice == null | 89 | ? element.specPrice == null |
| 90 | - ? 0 | 90 | + ? '0' |
| 91 | : element.specPrice | 91 | : element.specPrice |
| 92 | : element.specMemberPrice); | 92 | : element.specMemberPrice); |
| 93 | }); | 93 | }); |
| @@ -499,8 +499,7 @@ class _MessageHasOrderFoodPageState extends State<MessageHasOrderFoodPage> { | @@ -499,8 +499,7 @@ class _MessageHasOrderFoodPageState extends State<MessageHasOrderFoodPage> { | ||
| 499 | Utils.goShareOrderFoodToWeChat(context, | 499 | Utils.goShareOrderFoodToWeChat(context, |
| 500 | rid: widget.rid, | 500 | rid: widget.rid, |
| 501 | title: '菜品已点好,快来看看都点了什么~', | 501 | title: '菜品已点好,快来看看都点了什么~', |
| 502 | - oid: _orderFoodProvider | ||
| 503 | - .createdOrderSunModel.id, | 502 | + oid: _orderFoodProvider.createdOrderSunModel.id, |
| 504 | img: | 503 | img: |
| 505 | 'http://nosqn.colorcun.com/reserve/images/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_201911151148571.jpg'); | 504 | 'http://nosqn.colorcun.com/reserve/images/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_201911151148571.jpg'); |
| 506 | }, | 505 | }, |
| @@ -671,27 +671,27 @@ class TableManagerModel with ChangeNotifier { | @@ -671,27 +671,27 @@ class TableManagerModel with ChangeNotifier { | ||
| 671 | String hmsS = ''; //起始 | 671 | String hmsS = ''; //起始 |
| 672 | String hmsE = ''; //结束 | 672 | String hmsE = ''; //结束 |
| 673 | String keys = ''; | 673 | String keys = ''; |
| 674 | - // if (currTimeIndex == 1) { | ||
| 675 | - // //早市 | ||
| 676 | - // keys = 'morning'; | ||
| 677 | - // } else if (currTimeIndex == 2) { | ||
| 678 | - // //午市 | ||
| 679 | - // keys = 'noon'; | ||
| 680 | - // } else if (currTimeIndex == 3) { | ||
| 681 | - // //晚市 | ||
| 682 | - // keys = 'night'; | ||
| 683 | - // } | 674 | + if (currTimeIndex == 1) { |
| 675 | + //早市 | ||
| 676 | + keys = 'morning'; | ||
| 677 | + } else if (currTimeIndex == 2) { | ||
| 678 | + //午市 | ||
| 679 | + keys = 'noon'; | ||
| 680 | + } else if (currTimeIndex == 3) { | ||
| 681 | + //晚市 | ||
| 682 | + keys = 'night'; | ||
| 683 | + } | ||
| 684 | 684 | ||
| 685 | - // if (keys != '') { | ||
| 686 | - // List temp = dailyMap[keys]; | ||
| 687 | - // hmsS = " ${temp.first}:00"; | ||
| 688 | - // hmsE = " ${temp.last}:59"; | ||
| 689 | - // } else { | ||
| 690 | - // hmsS = " 00:00:00"; | ||
| 691 | - // hmsE = " 23:59:59"; | ||
| 692 | - // } | ||
| 693 | - hmsS = " 00:00:00"; | ||
| 694 | - hmsE = " 23:59:59"; | 685 | + if (keys != '') { |
| 686 | + List temp = dailyMap[keys]; | ||
| 687 | + hmsS = " ${temp.first}:00"; | ||
| 688 | + hmsE = " ${temp.last}:59"; | ||
| 689 | + } else { | ||
| 690 | + hmsS = " 00:00:00"; | ||
| 691 | + hmsE = " 23:59:59"; | ||
| 692 | + } | ||
| 693 | + // hmsS = " 00:00:00"; | ||
| 694 | + // hmsE = " 23:59:59"; | ||
| 695 | 695 | ||
| 696 | UserModel userModel = Provider.of<UserModel>(context, listen: false); | 696 | UserModel userModel = Provider.of<UserModel>(context, listen: false); |
| 697 | String timeStrStart = dateTime.year.toString() + | 697 | String timeStrStart = dateTime.year.toString() + |
| @@ -716,7 +716,7 @@ class TableManagerModel with ChangeNotifier { | @@ -716,7 +716,7 @@ class TableManagerModel with ChangeNotifier { | ||
| 716 | 'sid': userModel.user.sellerid, | 716 | 'sid': userModel.user.sellerid, |
| 717 | 'rdate': '${start}', | 717 | 'rdate': '${start}', |
| 718 | 'edate': '${end}', | 718 | 'edate': '${end}', |
| 719 | - 'ddate_interval': currTimeIndex.toString() | 719 | + // 'ddate_interval': currTimeIndex.toString() |
| 720 | }; | 720 | }; |
| 721 | return await Future.wait<bool>([ | 721 | return await Future.wait<bool>([ |
| 722 | _getOldReserve(context, params, showloading, selfDismiss: selfDismiss), | 722 | _getOldReserve(context, params, showloading, selfDismiss: selfDismiss), |
| @@ -788,28 +788,61 @@ class TableManagerModel with ChangeNotifier { | @@ -788,28 +788,61 @@ class TableManagerModel with ChangeNotifier { | ||
| 788 | }); | 788 | }); |
| 789 | }); | 789 | }); |
| 790 | // banquetByDateData.map((e) => null) | 790 | // banquetByDateData.map((e) => null) |
| 791 | - String banquetKey = ''; | ||
| 792 | - if (currTimeIndex == 1) { | ||
| 793 | - banquetKey = '早餐'; | ||
| 794 | - } else if (currTimeIndex == 2) { | ||
| 795 | - banquetKey = '午餐'; | ||
| 796 | - } else if (currTimeIndex == 3) { | ||
| 797 | - banquetKey = '晚餐'; | ||
| 798 | - } | 791 | + // String banquetKey = ''; |
| 792 | + // if (currTimeIndex == 1) { | ||
| 793 | + // banquetKey = '早餐'; | ||
| 794 | + // } else if (currTimeIndex == 2) { | ||
| 795 | + // banquetKey = '午餐'; | ||
| 796 | + // } else if (currTimeIndex == 3) { | ||
| 797 | + // banquetKey = '晚餐'; | ||
| 798 | + // } | ||
| 799 | + | ||
| 800 | + Map<String, List<FeastBoardSunModel>> banquetData = {}; | ||
| 799 | banquetByDateDataTemp.forEach((element) { | 801 | banquetByDateDataTemp.forEach((element) { |
| 800 | - FeastBoardSunModel feastBoardSunModel = element.data[banquetKey][0]; | ||
| 801 | - if (feastBoardSunModel.lost == null || feastBoardSunModel.lost == '') { | 802 | + List<FeastBoardSunModel> data = []; |
| 803 | + if (element.data['其他'].length > 0) { | ||
| 804 | + FeastBoardSunModel feastBoardSunModel = element.data['其他'][0]; | ||
| 805 | + if (feastBoardSunModel.lost == null || | ||
| 806 | + feastBoardSunModel.lost == '') { | ||
| 807 | + data.add(feastBoardSunModel); //未丢单宴会合集 | ||
| 808 | + } | ||
| 809 | + } | ||
| 810 | + if (element.data['早餐'].length > 0) { | ||
| 811 | + FeastBoardSunModel feastBoardSunModel = element.data['早餐'][0]; | ||
| 812 | + if (feastBoardSunModel.lost == null || | ||
| 813 | + feastBoardSunModel.lost == '') { | ||
| 814 | + data.add(feastBoardSunModel); //未丢单宴会合集 | ||
| 815 | + } | ||
| 816 | + } | ||
| 817 | + if (element.data['午餐'].length > 0) { | ||
| 818 | + FeastBoardSunModel feastBoardSunModel = element.data['午餐'][0]; | ||
| 819 | + if (feastBoardSunModel.lost == null || | ||
| 820 | + feastBoardSunModel.lost == '') { | ||
| 821 | + data.add(feastBoardSunModel); //未丢单宴会合集 | ||
| 822 | + } | ||
| 823 | + } | ||
| 824 | + if (element.data['晚餐'].length > 0) { | ||
| 825 | + FeastBoardSunModel feastBoardSunModel = element.data['晚餐'][0]; | ||
| 826 | + if (feastBoardSunModel.lost == null || | ||
| 827 | + feastBoardSunModel.lost == '') { | ||
| 828 | + data.add(feastBoardSunModel); //未丢单宴会合集 | ||
| 829 | + } | ||
| 830 | + } | ||
| 831 | + | ||
| 832 | + banquetData[element.title] = data; | ||
| 833 | + }); | ||
| 834 | + banquetData.forEach((key, value) { | ||
| 835 | + value.forEach((element) { | ||
| 802 | //未丢单的宴会 | 836 | //未丢单的宴会 |
| 803 | Notebook notebook = Notebook(); | 837 | Notebook notebook = Notebook(); |
| 804 | - notebook.tid = element.title; | 838 | + notebook.tid = key; |
| 805 | notebook.status = '10'; //宴会类型 | 839 | notebook.status = '10'; //宴会类型 |
| 806 | - notebook.className = feastBoardSunModel.className; | ||
| 807 | - notebook.id = feastBoardSunModel.rid; | ||
| 808 | - notebook.rname = feastBoardSunModel.rname; | ||
| 809 | - notebook.nick_name = | ||
| 810 | - feastBoardSunModel.nickName ?? feastBoardSunModel.account; | 840 | + notebook.className = element.className; |
| 841 | + notebook.id = element.rid; | ||
| 842 | + notebook.rname = element.rname; | ||
| 843 | + notebook.nick_name = element.nickName ?? element.account; | ||
| 811 | noteBooks.add(notebook); | 844 | noteBooks.add(notebook); |
| 812 | - } | 845 | + }); |
| 813 | }); | 846 | }); |
| 814 | 847 | ||
| 815 | // List<Notebook> noteBooks = | 848 | // List<Notebook> noteBooks = |
| @@ -140,14 +140,17 @@ class NavigatorUtil { | @@ -140,14 +140,17 @@ class NavigatorUtil { | ||
| 140 | {bool canChoose = false, | 140 | {bool canChoose = false, |
| 141 | Map object, | 141 | Map object, |
| 142 | String fromPage = 'change', | 142 | String fromPage = 'change', |
| 143 | + String hmS, | ||
| 144 | + String hmE, | ||
| 145 | + String source, | ||
| 143 | String tid = ''}) { | 146 | String tid = ''}) { |
| 144 | if (object != null) { | 147 | if (object != null) { |
| 145 | return _navigateTo(context, | 148 | return _navigateTo(context, |
| 146 | - "${Routes.select_table_f}?rid=$rid&tid=$tid&dateTime=$dateTime&fromPage=$fromPage&ddate_slot=$ddate_slot&canChoose=$canChoose&object=${FluroConvertUtils.object2string(object)}"); | 149 | + "${Routes.select_table_f}?rid=$rid&tid=$tid&dateTime=$dateTime&fromPage=$fromPage&ddate_slot=$ddate_slot&canChoose=$canChoose&object=${FluroConvertUtils.object2string(object)}&hmS=$hmS&hmE=$hmE&source=$source"); |
| 147 | } | 150 | } |
| 148 | // object = {'object': [], "tid": ''}; | 151 | // object = {'object': [], "tid": ''}; |
| 149 | return _navigateTo(context, | 152 | return _navigateTo(context, |
| 150 | - "${Routes.select_table_f}?rid=$rid&tid=$tid&dateTime=$dateTime&fromPage=$fromPage&ddate_slot=$ddate_slot&canChoose=$canChoose"); | 153 | + "${Routes.select_table_f}?rid=$rid&tid=$tid&dateTime=$dateTime&fromPage=$fromPage&ddate_slot=$ddate_slot&canChoose=$canChoose&hmS=$hmS&hmE=$hmE&source=$source"); |
| 151 | } | 154 | } |
| 152 | 155 | ||
| 153 | /// 邀请函 | 156 | /// 邀请函 |
| @@ -373,9 +373,13 @@ var handleSelectTableFHandler = new Handler( | @@ -373,9 +373,13 @@ var handleSelectTableFHandler = new Handler( | ||
| 373 | String tid = params['tid'].first; | 373 | String tid = params['tid'].first; |
| 374 | DateTime dateTime = | 374 | DateTime dateTime = |
| 375 | DateTime.fromMillisecondsSinceEpoch(int.parse(params["dateTime"].first)); | 375 | DateTime.fromMillisecondsSinceEpoch(int.parse(params["dateTime"].first)); |
| 376 | - String ddate_slot = params["ddate_slot"].first; | 376 | + String ddateSlot = params["ddate_slot"].first; |
| 377 | + String source = params["source"].first; | ||
| 378 | + | ||
| 377 | String fromPage = params["fromPage"].first; | 379 | String fromPage = params["fromPage"].first; |
| 378 | bool canChoose = params["canChoose"].first == "true" ? true : false; | 380 | bool canChoose = params["canChoose"].first == "true" ? true : false; |
| 381 | + String hmS = params["hmS"].first; | ||
| 382 | + String hmE = params["hmE"].first; | ||
| 379 | List<TableList> res = []; | 383 | List<TableList> res = []; |
| 380 | if (params.keys.contains('object')) { | 384 | if (params.keys.contains('object')) { |
| 381 | Map object = FluroConvertUtils.string2map(params["object"].first); | 385 | Map object = FluroConvertUtils.string2map(params["object"].first); |
| @@ -389,8 +393,14 @@ var handleSelectTableFHandler = new Handler( | @@ -389,8 +393,14 @@ var handleSelectTableFHandler = new Handler( | ||
| 389 | // return SelectTablePage(rid, dateTime, ddate_slot,canChoose: canChoose); | 393 | // return SelectTablePage(rid, dateTime, ddate_slot,canChoose: canChoose); |
| 390 | return ChangeNotifierProvider<ChooseTableModel>( | 394 | return ChangeNotifierProvider<ChooseTableModel>( |
| 391 | create: (_) => ChooseTableModel(), | 395 | create: (_) => ChooseTableModel(), |
| 392 | - child: SelectTableFPage(rid, dateTime, ddate_slot, | ||
| 393 | - canChoose: canChoose, tableList: res, fromPage: fromPage, tid: tid)); | 396 | + child: SelectTableFPage(rid, dateTime, ddateSlot, |
| 397 | + canChoose: canChoose, | ||
| 398 | + tableList: res, | ||
| 399 | + fromPage: fromPage, | ||
| 400 | + tid: tid, | ||
| 401 | + hmS: hmS, | ||
| 402 | + hmE: hmE, | ||
| 403 | + source: source)); | ||
| 394 | }); | 404 | }); |
| 395 | 405 | ||
| 396 | // 跳转到照片管理的选择桌位_方硕新修改的页面 | 406 | // 跳转到照片管理的选择桌位_方硕新修改的页面 |
| @@ -1534,12 +1544,16 @@ var feastCreatePageHandle = new Handler( | @@ -1534,12 +1544,16 @@ var feastCreatePageHandle = new Handler( | ||
| 1534 | String rid = params["rid"].first; | 1544 | String rid = params["rid"].first; |
| 1535 | return ChangeNotifierProvider<FeastModel>( | 1545 | return ChangeNotifierProvider<FeastModel>( |
| 1536 | create: (_) => FeastModel(), | 1546 | create: (_) => FeastModel(), |
| 1537 | - child: FeastCreatePage( | ||
| 1538 | - banquetDetail: banquetDetail, isCreate: isCreate, rid: rid)); | 1547 | + child: ChangeNotifierProvider<ChooseTableModel>( |
| 1548 | + create: (_) => ChooseTableModel(), | ||
| 1549 | + child: FeastCreatePage( | ||
| 1550 | + banquetDetail: banquetDetail, isCreate: isCreate, rid: rid))); | ||
| 1539 | } | 1551 | } |
| 1540 | return ChangeNotifierProvider<FeastModel>( | 1552 | return ChangeNotifierProvider<FeastModel>( |
| 1541 | create: (_) => FeastModel(), | 1553 | create: (_) => FeastModel(), |
| 1542 | - child: FeastCreatePage(banquetDetail: banquetDetail, isCreate: isCreate)); | 1554 | + child:ChangeNotifierProvider<ChooseTableModel>( |
| 1555 | + create: (_) => ChooseTableModel(), | ||
| 1556 | + child: FeastCreatePage(banquetDetail: banquetDetail, isCreate: isCreate))); | ||
| 1543 | }); | 1557 | }); |
| 1544 | 1558 | ||
| 1545 | ///宴会----添加定金 | 1559 | ///宴会----添加定金 |
| @@ -55,7 +55,6 @@ typedef ClickCallback = void Function(String value); | @@ -55,7 +55,6 @@ typedef ClickCallback = void Function(String value); | ||
| 55 | // }; | 55 | // }; |
| 56 | 56 | ||
| 57 | class DialogUtil { | 57 | class DialogUtil { |
| 58 | - | ||
| 59 | //回复评论弹框 | 58 | //回复评论弹框 |
| 60 | static openCommentsModalBottomSheet(context, | 59 | static openCommentsModalBottomSheet(context, |
| 61 | {VoidCallback lCallback, VoidCallback rCallback}) async { | 60 | {VoidCallback lCallback, VoidCallback rCallback}) async { |
| @@ -67,13 +66,12 @@ class DialogUtil { | @@ -67,13 +66,12 @@ class DialogUtil { | ||
| 67 | return Container( | 66 | return Container( |
| 68 | // height: ScreenUtil().setWidth(180 * 2), | 67 | // height: ScreenUtil().setWidth(180 * 2), |
| 69 | decoration: BoxDecoration( | 68 | decoration: BoxDecoration( |
| 70 | - color: MyColours.color_DBDBDB, | ||
| 71 | - // borderRadius: BorderRadius.only( | ||
| 72 | - // topLeft: Radius.circular(ScreenUtil().setWidth(24)), | ||
| 73 | - // topRight: Radius.circular(ScreenUtil().setWidth(24))) | ||
| 74 | - ), | 69 | + color: MyColours.color_DBDBDB, |
| 70 | + // borderRadius: BorderRadius.only( | ||
| 71 | + // topLeft: Radius.circular(ScreenUtil().setWidth(24)), | ||
| 72 | + // topRight: Radius.circular(ScreenUtil().setWidth(24))) | ||
| 73 | + ), | ||
| 75 | child: Row( | 74 | child: Row( |
| 76 | - | ||
| 77 | children: <Widget>[ | 75 | children: <Widget>[ |
| 78 | InkWell( | 76 | InkWell( |
| 79 | onTap: lCallback, | 77 | onTap: lCallback, |
| @@ -136,6 +134,7 @@ class DialogUtil { | @@ -136,6 +134,7 @@ class DialogUtil { | ||
| 136 | ); | 134 | ); |
| 137 | }); | 135 | }); |
| 138 | } | 136 | } |
| 137 | + | ||
| 139 | static List<Widget> menuSelectBtn(MenuSunModel menuSunModel, state) { | 138 | static List<Widget> menuSelectBtn(MenuSunModel menuSunModel, state) { |
| 140 | List<Widget> temp = []; | 139 | List<Widget> temp = []; |
| 141 | for (int i = 0; i < menuSunModel.practice.length; i++) { | 140 | for (int i = 0; i < menuSunModel.practice.length; i++) { |
| @@ -5923,6 +5922,85 @@ class DialogUtil { | @@ -5923,6 +5922,85 @@ class DialogUtil { | ||
| 5923 | }); | 5922 | }); |
| 5924 | } | 5923 | } |
| 5925 | 5924 | ||
| 5925 | + static showPickerDurationSelect(BuildContext context) async { | ||
| 5926 | + final range = <DateTime>[ | ||
| 5927 | + DateTime(0, 1, 1, 8, 30), | ||
| 5928 | + DateTime(0, 1, 1, 14, 30) | ||
| 5929 | + ]; | ||
| 5930 | + final p1 = Picker( | ||
| 5931 | + adapter: DateTimePickerAdapter( | ||
| 5932 | + customColumnType: [6, 7, 4], | ||
| 5933 | + value: range[0], | ||
| 5934 | + ), | ||
| 5935 | + delimiter: [ | ||
| 5936 | + PickerDelimiter( | ||
| 5937 | + column: 0, | ||
| 5938 | + child: Container( | ||
| 5939 | + alignment: Alignment.center, | ||
| 5940 | + width: 100, | ||
| 5941 | + padding: EdgeInsets.fromLTRB(12, 0, 8, 0), | ||
| 5942 | + child: Text('Start', | ||
| 5943 | + style: TextStyle( | ||
| 5944 | + fontWeight: FontWeight.bold, | ||
| 5945 | + color: Colors.red, | ||
| 5946 | + fontSize: 14)), | ||
| 5947 | + color: Colors.white, | ||
| 5948 | + )), | ||
| 5949 | + ], | ||
| 5950 | + onSelect: (Picker picker, int index, List<int> selected) { | ||
| 5951 | + range[0] = (picker.adapter as DateTimePickerAdapter).value; | ||
| 5952 | + }, | ||
| 5953 | + onConfirmBefore: (picker, selected) async { | ||
| 5954 | + if (range[0] == null) { | ||
| 5955 | + // showMsg("Please select the start time."); | ||
| 5956 | + return false; | ||
| 5957 | + } | ||
| 5958 | + if (range[1] == null) { | ||
| 5959 | + // showMsg("Please select the end time."); | ||
| 5960 | + return false; | ||
| 5961 | + } | ||
| 5962 | + return true; | ||
| 5963 | + }, | ||
| 5964 | + onConfirm: (picker, selected) { | ||
| 5965 | + // showMsg( | ||
| 5966 | + // "Start: ${range[0].toString()}, End: ${range[1].toString()}, ${picker.adapter}"); | ||
| 5967 | + }); | ||
| 5968 | + final p2 = Picker( | ||
| 5969 | + adapter: DateTimePickerAdapter( | ||
| 5970 | + customColumnType: [6, 7, 4], | ||
| 5971 | + value: range[1], | ||
| 5972 | + ), | ||
| 5973 | + hideHeader: true, | ||
| 5974 | + delimiter: [ | ||
| 5975 | + PickerDelimiter( | ||
| 5976 | + column: 0, | ||
| 5977 | + child: Container( | ||
| 5978 | + alignment: Alignment.center, | ||
| 5979 | + padding: EdgeInsets.fromLTRB(12, 0, 8, 0), | ||
| 5980 | + width: 100, | ||
| 5981 | + child: Text('End', | ||
| 5982 | + style: TextStyle( | ||
| 5983 | + fontWeight: FontWeight.bold, | ||
| 5984 | + color: Colors.red, | ||
| 5985 | + fontSize: 14)), | ||
| 5986 | + color: Colors.white, | ||
| 5987 | + )), | ||
| 5988 | + ], | ||
| 5989 | + onSelect: (Picker picker, int index, List<int> selected) { | ||
| 5990 | + range[1] = (picker.adapter as DateTimePickerAdapter).value; | ||
| 5991 | + }); | ||
| 5992 | + await showModalBottomSheet( | ||
| 5993 | + context: context, | ||
| 5994 | + backgroundColor: Colors.transparent, | ||
| 5995 | + isDismissible: false, | ||
| 5996 | + builder: (BuildContext context) { | ||
| 5997 | + return Column( | ||
| 5998 | + mainAxisSize: MainAxisSize.min, | ||
| 5999 | + children: [p1.makePicker(), p2.makePicker()], | ||
| 6000 | + ); | ||
| 6001 | + }); | ||
| 6002 | + } | ||
| 6003 | + | ||
| 5926 | //显示选择客户经理弹框 | 6004 | //显示选择客户经理弹框 |
| 5927 | static Future<List<int>> showSelectCusmanDialogNeedCustomHeader( | 6005 | static Future<List<int>> showSelectCusmanDialogNeedCustomHeader( |
| 5928 | BuildContext context, List<dynamic> data, ValueChanged valueChanged, | 6006 | BuildContext context, List<dynamic> data, ValueChanged valueChanged, |
| @@ -5932,6 +6010,7 @@ class DialogUtil { | @@ -5932,6 +6010,7 @@ class DialogUtil { | ||
| 5932 | VoidCallback onCancel, | 6010 | VoidCallback onCancel, |
| 5933 | String cancelText = '取消'}) { | 6011 | String cancelText = '取消'}) { |
| 5934 | return Picker( | 6012 | return Picker( |
| 6013 | + // changeToFirst: true, | ||
| 5935 | selecteds: selecteds, | 6014 | selecteds: selecteds, |
| 5936 | adapter: PickerDataAdapter<String>(pickerdata: data), | 6015 | adapter: PickerDataAdapter<String>(pickerdata: data), |
| 5937 | height: ScreenUtil().setWidth(480), | 6016 | height: ScreenUtil().setWidth(480), |
| @@ -6008,6 +6087,15 @@ class DialogUtil { | @@ -6008,6 +6087,15 @@ class DialogUtil { | ||
| 6008 | width: ScreenUtil().setWidth(2), | 6087 | width: ScreenUtil().setWidth(2), |
| 6009 | color: MyColours.color_E7E7E7))), | 6088 | color: MyColours.color_E7E7E7))), |
| 6010 | ), | 6089 | ), |
| 6090 | + onSelect: (Picker picker, int index, List<int> selecteds) { | ||
| 6091 | + print(selecteds); | ||
| 6092 | + print(index); | ||
| 6093 | + print(picker); | ||
| 6094 | + // picker.selecteds = [selecteds[0],selecteds[0]]; | ||
| 6095 | + // this.setState(() { | ||
| 6096 | + // // stateText = picker.adapter.toString(); | ||
| 6097 | + // }); | ||
| 6098 | + }, | ||
| 6011 | onCancel: onCancel, | 6099 | onCancel: onCancel, |
| 6012 | onConfirm: (Picker picker, List value) { | 6100 | onConfirm: (Picker picker, List value) { |
| 6013 | print(value.toString()); | 6101 | print(value.toString()); |
| @@ -165,6 +165,7 @@ class SetTimeWidget { | @@ -165,6 +165,7 @@ class SetTimeWidget { | ||
| 165 | 165 | ||
| 166 | showFeastTimeSelector( | 166 | showFeastTimeSelector( |
| 167 | context, data, start, end, SetTimeCallback setTimeCallback) { | 167 | context, data, start, end, SetTimeCallback setTimeCallback) { |
| 168 | + // DialogUtil.showPickerDurationSelect(context); | ||
| 168 | DialogUtil.showSelectCusmanDialogNeedCustomHeader(context, data, (value) { | 169 | DialogUtil.showSelectCusmanDialogNeedCustomHeader(context, data, (value) { |
| 169 | setTimeCallback(value); | 170 | setTimeCallback(value); |
| 170 | }, cancelText: '', title: '选择时间', selecteds: [ | 171 | }, cancelText: '', title: '选择时间', selecteds: [ |
-
Please register or login to post a comment