Commit f7713ffe7677afb7660f1a14a432efc9c9e68be7

Authored by wdn127929
1 parent 48c1d68d

订座详情页修改金额和人数键盘上方自定义 完成 按钮 方法里没有让输入框失去焦点,导致获得焦点方法重复执行

@@ -87,7 +87,8 @@ class NotebookDetailPageSim extends StatefulWidget { @@ -87,7 +87,8 @@ class NotebookDetailPageSim extends StatefulWidget {
87 } 87 }
88 } 88 }
89 89
90 -class NotebookDetailPageSimState extends State<NotebookDetailPageSim> { 90 +class NotebookDetailPageSimState extends State<NotebookDetailPageSim>
  91 + with WidgetsBindingObserver {
91 NotebookDetailModel? detailModel; 92 NotebookDetailModel? detailModel;
92 93
93 late NotebookDetail detailEntity; 94 late NotebookDetail detailEntity;
@@ -142,6 +143,10 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> { @@ -142,6 +143,10 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> {
142 143
143 List<UploadImgModel> remarkImgs = []; 144 List<UploadImgModel> remarkImgs = [];
144 145
  146 + OverlayEntry? overlayEntry;
  147 + // bool hasAuthority = true; //
  148 + bool isback = false;
  149 +
145 @override 150 @override
146 void initState() { 151 void initState() {
147 // TODO: implement initState 152 // TODO: implement initState
@@ -192,6 +197,35 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> { @@ -192,6 +197,35 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> {
192 } 197 }
193 _cancelState(() {}); 198 _cancelState(() {});
194 }); 199 });
  200 + WidgetsBinding.instance.addObserver(this);
  201 + // if (Platform.isIOS) {
  202 + pnumF.addListener(() async {
  203 + if (pnumF.hasFocus) {
  204 + showOverlay(context);
  205 + } else {
  206 + //人数
  207 + bool sucess = await detailModel!
  208 + .upReserveInfo(context, widget.rid, actualPum: pnumC.text);
  209 +
  210 + if (sucess) {
  211 + bus.emit("refresh_book_list"); //刷新已预订列表
  212 +
  213 + EventBus().emit("refresh_tablemanager"); //刷新桌位
  214 + await _getReserveDetail(isShowLoading: false, showCicle: true);
  215 + }
  216 +
  217 + removeOverlay();
  218 + }
  219 + });
  220 + priceF.addListener(() {
  221 + if (priceF.hasFocus) {
  222 + showOverlay(context);
  223 + } else {
  224 + // 失去焦点时候的操作
  225 +
  226 + _updateMoney();
  227 + }
  228 + });
195 229
196 _depositNode.addListener(() { 230 _depositNode.addListener(() {
197 if (_depositNode.hasFocus) { 231 if (_depositNode.hasFocus) {
@@ -212,7 +246,7 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> { @@ -212,7 +246,7 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> {
212 _cancelState(() {}); 246 _cancelState(() {});
213 }); 247 });
214 bus.on("refresh_detail", (args) { 248 bus.on("refresh_detail", (args) {
215 - _getReserveDetail(); 249 + _getReserveDetail(isShowLoading: false, showCicle: true);
216 }); 250 });
217 bus.on("refresh_detail_deposit", (args) { 251 bus.on("refresh_detail_deposit", (args) {
218 _getReserveDepositByRid(); //刷新订金数据 252 _getReserveDepositByRid(); //刷新订金数据
@@ -226,6 +260,123 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> { @@ -226,6 +260,123 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> {
226 }); 260 });
227 } 261 }
228 262
  263 + showOverlay(BuildContext? context) {
  264 + if (overlayEntry != null) return;
  265 +
  266 + OverlayState overlayState = Overlay.of(context!);
  267 + overlayEntry = OverlayEntry(builder: (context) {
  268 + return Positioned(
  269 + bottom: MediaQuery.of(context).viewInsets.bottom,
  270 + right: 0.0,
  271 + left: 0.0,
  272 + child: InputDoneView(
  273 + callback: () {
  274 + removeOverlay();
  275 + if (pnumF.hasFocus) {
  276 + pnumF.unfocus();
  277 + }
  278 + if (priceF.hasFocus) {
  279 + priceF.unfocus();
  280 + }
  281 +
  282 + // _updateMoney();
  283 + },
  284 + ));
  285 + });
  286 +
  287 + overlayState.insert(overlayEntry!);
  288 + }
  289 +
  290 + removeOverlay() {
  291 + if (overlayEntry != null) {
  292 + overlayEntry!.remove();
  293 + overlayEntry = null;
  294 + // 当前是安卓系统并且在焦点聚焦的情况下
  295 + // if ( widget.focusNode!.hasFocus) {
  296 + // if (isKeyboardActived) {
  297 + // isKeyboardActived = false;
  298 + // // 使输入框失去焦点
  299 + // if (pnumF.hasFocus) {
  300 + // pnumF.unfocus();
  301 + // }
  302 + // // 使输入框失去焦点
  303 + // if (priceF.hasFocus) {
  304 + // priceF.unfocus();
  305 + // }
  306 +
  307 + // // return;
  308 + // }
  309 + }
  310 + }
  311 +
  312 + @override
  313 + void didChangeMetrics() {
  314 + super.didChangeMetrics();
  315 + WidgetsBinding.instance.addPostFrameCallback((_) {
  316 + if (mounted) {
  317 + print(
  318 + 'MediaQuery.of(context).viewInsets.bottom ${MediaQuery.of(context).viewInsets.bottom}');
  319 + if (MediaQuery.of(context).viewInsets.bottom > 0) {
  320 + //关闭键盘
  321 + showOverlay(context);
  322 + } else {
  323 + //显示键盘
  324 +
  325 + removeOverlay();
  326 +
  327 + // (pnumF.hasFocus || priceF.hasFocus)
  328 + }
  329 + }
  330 + });
  331 + }
  332 +
  333 + /// 修改金额
  334 + _updateMoney() async {
  335 + if (detailModel!.prestrTF == null || detailModel!.prestrTF == "") {
  336 + if (detailModel!.numController.text.trim().length > 0) {
  337 + //修改之前无内容,不弹框
  338 + detailModel!.prestrTF = detailModel!.numController.text;
  339 + await detailModel!.upReserveInfo(context, widget.rid,
  340 + conAmount: detailModel!.prestrTF);
  341 +
  342 + if (isback) {
  343 + Navigator.of(context).pop();
  344 + } else {
  345 + bus.emit("refresh_detail");
  346 + }
  347 + }
  348 + } else {
  349 + //修改之前有内容,则弹框
  350 + DialogUtil.cupertinoAlertDialog(context,
  351 + title: "是否修改",
  352 + content: "金额已修改,是否保存为新修改的金额",
  353 + lTitle: "不保存",
  354 + rTitle: "确认修改", lCallback: () {
  355 + print("取消");
  356 +
  357 + if (isback) {
  358 + Navigator.of(context).pop();
  359 + } else {
  360 + detailModel!.numController.text =
  361 + detailModel!.prestrTF == null ? "" : detailModel!.prestrTF!;
  362 + detailModel!.strTF = detailModel!.numController.text;
  363 + }
  364 + }, rCallback: () async {
  365 + print("确定");
  366 + detailModel!.prestrTF = detailModel!.numController.text;
  367 + await detailModel!.upReserveInfo(context, widget.rid,
  368 + conAmount: detailModel!.prestrTF);
  369 +
  370 + if (isback) {
  371 + Navigator.of(context).pop();
  372 + } else {
  373 + bus.emit("refresh_detail");
  374 + }
  375 + });
  376 + }
  377 + removeOverlay();
  378 + }
  379 +
229 ///获取七牛云token 380 ///获取七牛云token
230 /// 381 ///
231 _getQiniuInfo() async { 382 _getQiniuInfo() async {
@@ -348,7 +499,7 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> { @@ -348,7 +499,7 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> {
348 // if (beginMinute == 15) { 499 // if (beginMinute == 15) {
349 // beginMinute = 30; 500 // beginMinute = 30;
350 // } else 501 // } else
351 - if (beginMinute == 45) { 502 + if (beginMinute == 45) {
352 beginHour++; 503 beginHour++;
353 beginMinute = 0; 504 beginMinute = 0;
354 } 505 }
@@ -543,15 +694,15 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> { @@ -543,15 +694,15 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> {
543 // detailModel.selectIndex = detailEntity.actual_pum != null 694 // detailModel.selectIndex = detailEntity.actual_pum != null
544 // ? personNumList.indexOf(detailEntity.actual_pum) 695 // ? personNumList.indexOf(detailEntity.actual_pum)
545 // : null; 696 // : null;
546 - pnumC.text = detailEntity.actual_pum??''; 697 + pnumC.text = detailEntity.actual_pum ?? '';
547 if (detailEntity.con_amount != null) { 698 if (detailEntity.con_amount != null) {
548 detailModel!.prestrTF = detailEntity.con_amount; 699 detailModel!.prestrTF = detailEntity.con_amount;
549 - detailModel!.numController.text = detailEntity.con_amount??""; 700 + detailModel!.numController.text = detailEntity.con_amount ?? "";
550 } 701 }
551 if (detailEntity.con_amount != null) { 702 if (detailEntity.con_amount != null) {
552 detailModel!.prestrTF = detailEntity.con_amount; 703 detailModel!.prestrTF = detailEntity.con_amount;
553 detailModel!.strTF = detailEntity.con_amount; 704 detailModel!.strTF = detailEntity.con_amount;
554 - detailModel!.numController.text = detailEntity.con_amount??""; 705 + detailModel!.numController.text = detailEntity.con_amount ?? "";
555 } 706 }
556 707
557 // cusmanText = detailEntity.cusman.isEmpty ? "请选择" : detailEntity.cusman; 708 // cusmanText = detailEntity.cusman.isEmpty ? "请选择" : detailEntity.cusman;
@@ -1587,7 +1738,7 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> { @@ -1587,7 +1738,7 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> {
1587 if (contact != null) { 1738 if (contact != null) {
1588 setState(() { 1739 setState(() {
1589 String? fullName = 1740 String? fullName =
1590 - contact.fullName?.replaceAll(new RegExp(r"\s+\b|\b\s"), "")??''; 1741 + contact.fullName?.replaceAll(new RegExp(r"\s+\b|\b\s"), "") ?? '';
1591 // String? phone = 1742 // String? phone =
1592 // contact.phoneNumbers![0].replaceAll(new RegExp(r"\s+\b|\b\s"), ""); 1743 // contact.phoneNumbers![0].replaceAll(new RegExp(r"\s+\b|\b\s"), "");
1593 // if (fullName.compareTo(phone) == 0) { 1744 // if (fullName.compareTo(phone) == 0) {
@@ -1596,7 +1747,8 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> { @@ -1596,7 +1747,8 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> {
1596 // fullName = contact.fullName!; 1747 // fullName = contact.fullName!;
1597 // } 1748 // }
1598 detailModel!.phoneController.text = 1749 detailModel!.phoneController.text =
1599 - contact.selectedPhoneNumber?.replaceAll(new RegExp(r"\s+"), "") ?? ''; 1750 + contact.selectedPhoneNumber?.replaceAll(new RegExp(r"\s+"), "") ??
  1751 + '';
1600 nameStr = fullName; 1752 nameStr = fullName;
1601 // _homeEnterModel.nameController.text = fullName + _nameSuffix(); 1753 // _homeEnterModel.nameController.text = fullName + _nameSuffix();
1602 _addNameSuffix(fullName, _nameSuffix()); 1754 _addNameSuffix(fullName, _nameSuffix());
@@ -1628,7 +1780,7 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> { @@ -1628,7 +1780,7 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> {
1628 detailModel!.nameController.text.endsWith(suffix!)) { 1780 detailModel!.nameController.text.endsWith(suffix!)) {
1629 return; 1781 return;
1630 } 1782 }
1631 - detailModel!.nameController.text = (name??"") + (suffix??""); 1783 + detailModel!.nameController.text = (name ?? "") + (suffix ?? "");
1632 } 1784 }
1633 1785
1634 //姓名后缀 1786 //姓名后缀
@@ -2367,7 +2519,12 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> { @@ -2367,7 +2519,12 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> {
2367 if (widget.fromNotify) { 2519 if (widget.fromNotify) {
2368 NavigatorUtil.goHomePageSim(context, initialIndex: 0); 2520 NavigatorUtil.goHomePageSim(context, initialIndex: 0);
2369 } else { 2521 } else {
2370 - Navigator.of(context).pop(); 2522 + if (priceF.hasFocus) {
  2523 + isback = true;
  2524 + priceF.unfocus();
  2525 + } else {
  2526 + Navigator.of(context).pop();
  2527 + }
2371 } 2528 }
2372 }, 2529 },
2373 ), 2530 ),
@@ -2642,24 +2799,24 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> { @@ -2642,24 +2799,24 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> {
2642 focusNode: pnumF, 2799 focusNode: pnumF,
2643 uid: widget.uid, 2800 uid: widget.uid,
2644 callback: () async { 2801 callback: () async {
2645 - bool sucess =  
2646 - await detailModel!  
2647 - .upReserveInfo(  
2648 - context,  
2649 - widget.rid,  
2650 - actualPum:  
2651 - pnumC  
2652 - .text);  
2653 -  
2654 - if (sucess) {  
2655 - bus.emit(  
2656 - "refresh_book_list"); //刷新已预订列表  
2657 -  
2658 - EventBus().emit(  
2659 - "refresh_tablemanager"); //刷新桌位  
2660 - await _getReserveDetail(  
2661 - showCicle: false);  
2662 - } 2802 + // bool sucess =
  2803 + // await detailModel!
  2804 + // .upReserveInfo(
  2805 + // context,
  2806 + // widget.rid,
  2807 + // actualPum:
  2808 + // pnumC
  2809 + // .text);
  2810 +
  2811 + // if (sucess) {
  2812 + // bus.emit(
  2813 + // "refresh_book_list"); //刷新已预订列表
  2814 +
  2815 + // EventBus().emit(
  2816 + // "refresh_tablemanager"); //刷新桌位
  2817 + // await _getReserveDetail(
  2818 + // showCicle: false);
  2819 + // }
2663 })), 2820 })),
2664 HEmptyView(60), 2821 HEmptyView(60),
2665 Expanded( 2822 Expanded(
@@ -5034,6 +5191,11 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> { @@ -5034,6 +5191,11 @@ class NotebookDetailPageSimState extends State<NotebookDetailPageSim> {
5034 NavigatorUtil.goHomePageSim(context, initialIndex: 0); 5191 NavigatorUtil.goHomePageSim(context, initialIndex: 0);
5035 return true; 5192 return true;
5036 } 5193 }
  5194 + if (priceF.hasFocus) {
  5195 + isback = true;
  5196 + priceF.unfocus();
  5197 + return false;
  5198 + }
5037 Navigator.of(context).pop(); 5199 Navigator.of(context).pop();
5038 return true; 5200 return true;
5039 }, 5201 },
@@ -5151,6 +5313,7 @@ class TitleAndBtn extends StatelessWidget { @@ -5151,6 +5313,7 @@ class TitleAndBtn extends StatelessWidget {
5151 } 5313 }
5152 5314
5153 class TitleAndTextfield extends StatefulWidget { 5315 class TitleAndTextfield extends StatefulWidget {
  5316 + final BuildContext? context;
5154 final String? title; 5317 final String? title;
5155 final String? bookNum; 5318 final String? bookNum;
5156 final List<String>? pnumlist; 5319 final List<String>? pnumlist;
@@ -5165,6 +5328,7 @@ class TitleAndTextfield extends StatefulWidget { @@ -5165,6 +5328,7 @@ class TitleAndTextfield extends StatefulWidget {
5165 5328
5166 const TitleAndTextfield( 5329 const TitleAndTextfield(
5167 {Key? key, 5330 {Key? key,
  5331 + this.context,
5168 this.title, 5332 this.title,
5169 this.bookNum, 5333 this.bookNum,
5170 this.pnumlist, 5334 this.pnumlist,
@@ -5181,11 +5345,15 @@ class TitleAndTextfield extends StatefulWidget { @@ -5181,11 +5345,15 @@ class TitleAndTextfield extends StatefulWidget {
5181 _TitleAndTextfieldState createState() => _TitleAndTextfieldState(); 5345 _TitleAndTextfieldState createState() => _TitleAndTextfieldState();
5182 } 5346 }
5183 5347
5184 -class _TitleAndTextfieldState extends State<TitleAndTextfield>  
5185 - with WidgetsBindingObserver { 5348 +class _TitleAndTextfieldState extends State<TitleAndTextfield> {
  5349 + // with WidgetsBindingObserver {
5186 // FocusNode numberFocusNode = new FocusNode(); 5350 // FocusNode numberFocusNode = new FocusNode();
5187 - OverlayEntry? overlayEntry;  
5188 - // bool hasAuthority = true; // 5351 + // OverlayEntry? overlayEntry;
  5352 + // // bool hasAuthority = true; //
  5353 +
  5354 + // // 当前键盘是否是激活状态
  5355 + // bool isKeyboardActived = false;
  5356 +
5189 @override 5357 @override
5190 void initState() { 5358 void initState() {
5191 super.initState(); 5359 super.initState();
@@ -5203,73 +5371,90 @@ class _TitleAndTextfieldState extends State<TitleAndTextfield> @@ -5203,73 +5371,90 @@ class _TitleAndTextfieldState extends State<TitleAndTextfield>
5203 // hasAuthority = false; 5371 // hasAuthority = false;
5204 // } 5372 // }
5205 5373
5206 - WidgetsBinding.instance.addObserver(this);  
5207 - // if (Platform.isIOS) {  
5208 - widget.focusNode!.addListener(() {  
5209 - if (widget.focusNode!.hasFocus && mounted) {  
5210 - showOverlay(context);  
5211 - } else {  
5212 - if (widget.isPrice) {  
5213 - _updateMoney();  
5214 - } else {  
5215 - //人数  
5216 - widget.callback!();  
5217 - }  
5218 -  
5219 - removeOverlay();  
5220 - }  
5221 - }); 5374 + // WidgetsBinding.instance.addObserver(this);
  5375 + // // if (Platform.isIOS) {
  5376 + // widget.focusNode!.addListener(() {
  5377 + // if (widget.focusNode!.hasFocus) {
  5378 + // showOverlay(widget.context);
  5379 + // } else {
  5380 + // // 失去焦点时候的操作
  5381 + // isKeyboardActived = false;
  5382 + // if (widget.isPrice) {
  5383 + // _updateMoney();
  5384 + // } else {
  5385 + // //人数
  5386 + // widget.callback!();
  5387 + // }
  5388 +
  5389 + // removeOverlay();
  5390 + // }
  5391 + // });
5222 // } 5392 // }
5223 } 5393 }
5224 5394
5225 - @override  
5226 - void dispose() {  
5227 - removeOverlay();  
5228 - super.dispose();  
5229 - WidgetsBinding.instance.removeObserver(this);  
5230 - } 5395 + // @override
  5396 + // void dispose() {
  5397 + // removeOverlay();
  5398 + // super.dispose();
  5399 + // WidgetsBinding.instance.removeObserver(this);
  5400 + // }
5231 5401
5232 - showOverlay(BuildContext context) {  
5233 - if (overlayEntry != null) return;  
5234 - OverlayState overlayState = Overlay.of(context);  
5235 - overlayEntry = OverlayEntry(builder: (context) {  
5236 - return Positioned(  
5237 - bottom: MediaQuery.of(context).viewInsets.bottom,  
5238 - right: 0.0,  
5239 - left: 0.0,  
5240 - child: InputDoneView(  
5241 - callback: () {  
5242 - removeOverlay();  
5243 - // _updateMoney();  
5244 - },  
5245 - ));  
5246 - }); 5402 + // showOverlay(BuildContext? context) {
  5403 + // if (overlayEntry != null) return;
5247 5404
5248 - overlayState.insert(overlayEntry!);  
5249 - } 5405 + // isKeyboardActived = true;
5250 5406
5251 - removeOverlay() {  
5252 - if (overlayEntry != null) {  
5253 - overlayEntry!.remove();  
5254 - overlayEntry = null;  
5255 - }  
5256 - } 5407 + // OverlayState overlayState = Overlay.of(context!);
  5408 + // overlayEntry = OverlayEntry(builder: (context) {
  5409 + // return Positioned(
  5410 + // bottom: MediaQuery.of(context).viewInsets.bottom,
  5411 + // right: 0.0,
  5412 + // left: 0.0,
  5413 + // child: InputDoneView(
  5414 + // callback: () {
  5415 + // removeOverlay();
  5416 +
  5417 + // // _updateMoney();
  5418 + // },
  5419 + // ));
  5420 + // });
  5421 +
  5422 + // overlayState.insert(overlayEntry!);
  5423 + // }
  5424 +
  5425 + // removeOverlay() {
  5426 + // if (overlayEntry != null) {
  5427 + // overlayEntry!.remove();
  5428 + // overlayEntry = null;
  5429 + // // 当前是安卓系统并且在焦点聚焦的情况下
  5430 + // // if ( widget.focusNode!.hasFocus) {
  5431 + // if (isKeyboardActived) {
  5432 + // isKeyboardActived = false;
  5433 + // // 使输入框失去焦点
  5434 + // widget.focusNode!.unfocus();
  5435 + // // return;
  5436 + // }
  5437 + // }
  5438 + // }
5257 5439
5258 // @override 5440 // @override
5259 - void didChangeMetrics() {  
5260 - super.didChangeMetrics();  
5261 - WidgetsBinding.instance.addPostFrameCallback((_) {  
5262 - if (mounted) {  
5263 - if (MediaQuery.of(context).viewInsets.bottom == 0) {  
5264 - //关闭键盘  
5265 - removeOverlay();  
5266 - } else {  
5267 - //显示键盘  
5268 - showOverlay(context);  
5269 - }  
5270 - }  
5271 - });  
5272 - } 5441 + // void didChangeMetrics() {
  5442 + // super.didChangeMetrics();
  5443 + // WidgetsBinding.instance.addPostFrameCallback((_) {
  5444 + // if (mounted) {
  5445 + // print(
  5446 + // 'MediaQuery.of(context).viewInsets.bottom ${MediaQuery.of(context).viewInsets.bottom}');
  5447 + // if (MediaQuery.of(context).viewInsets.bottom == 0) {
  5448 + // //关闭键盘
  5449 + // removeOverlay();
  5450 + // } else {
  5451 + // //显示键盘
  5452 +
  5453 + // showOverlay(context);
  5454 + // }
  5455 + // }
  5456 + // });
  5457 + // }
5273 5458
5274 handlePostFrame(_) { 5459 handlePostFrame(_) {
5275 // if (_scrollController.hasClients) { 5460 // if (_scrollController.hasClients) {
@@ -5291,40 +5476,40 @@ class _TitleAndTextfieldState extends State<TitleAndTextfield> @@ -5291,40 +5476,40 @@ class _TitleAndTextfieldState extends State<TitleAndTextfield>
5291 // } 5476 // }
5292 } 5477 }
5293 5478
5294 - /// 修改金额  
5295 - _updateMoney() async {  
5296 - removeOverlay();  
5297 - if (widget.detailModel!.prestrTF == null ||  
5298 - widget.detailModel!.prestrTF == "") {  
5299 - if (widget.detailModel!.numController.text.trim().length > 0) {  
5300 - //修改之前无内容,不弹框  
5301 - widget.detailModel!.prestrTF = widget.detailModel!.numController.text;  
5302 - await widget.detailModel!.upReserveInfo(context, widget.rid,  
5303 - conAmount: widget.detailModel!.prestrTF);  
5304 - bus.emit("refresh_detail");  
5305 - }  
5306 - } else {  
5307 - //修改之前有内容,则弹框  
5308 - DialogUtil.cupertinoAlertDialog(context,  
5309 - title: "是否修改",  
5310 - content: "金额已修改,是否保存为新修改的金额",  
5311 - lTitle: "不保存",  
5312 - rTitle: "确认修改", lCallback: () {  
5313 - print("取消");  
5314 - widget.detailModel!.numController.text =  
5315 - widget.detailModel!.prestrTF == null  
5316 - ? ""  
5317 - : widget.detailModel!.prestrTF!;  
5318 - widget.detailModel!.strTF = widget.detailModel!.numController.text;  
5319 - }, rCallback: () async {  
5320 - print("确定");  
5321 - widget.detailModel!.prestrTF = widget.detailModel!.numController.text;  
5322 - await widget.detailModel!.upReserveInfo(context, widget.rid,  
5323 - conAmount: widget.detailModel!.prestrTF);  
5324 - bus.emit("refresh_detail");  
5325 - });  
5326 - }  
5327 - } 5479 + // /// 修改金额
  5480 + // _updateMoney() async {
  5481 + // removeOverlay();
  5482 + // if (widget.detailModel!.prestrTF == null ||
  5483 + // widget.detailModel!.prestrTF == "") {
  5484 + // if (widget.detailModel!.numController.text.trim().length > 0) {
  5485 + // //修改之前无内容,不弹框
  5486 + // widget.detailModel!.prestrTF = widget.detailModel!.numController.text;
  5487 + // await widget.detailModel!.upReserveInfo(context, widget.rid,
  5488 + // conAmount: widget.detailModel!.prestrTF);
  5489 + // bus.emit("refresh_detail");
  5490 + // }
  5491 + // } else {
  5492 + // //修改之前有内容,则弹框
  5493 + // DialogUtil.cupertinoAlertDialog(context,
  5494 + // title: "是否修改",
  5495 + // content: "金额已修改,是否保存为新修改的金额",
  5496 + // lTitle: "不保存",
  5497 + // rTitle: "确认修改", lCallback: () {
  5498 + // print("取消");
  5499 + // widget.detailModel!.numController.text =
  5500 + // widget.detailModel!.prestrTF == null
  5501 + // ? ""
  5502 + // : widget.detailModel!.prestrTF!;
  5503 + // widget.detailModel!.strTF = widget.detailModel!.numController.text;
  5504 + // }, rCallback: () async {
  5505 + // print("确定");
  5506 + // widget.detailModel!.prestrTF = widget.detailModel!.numController.text;
  5507 + // await widget.detailModel!.upReserveInfo(context, widget.rid,
  5508 + // conAmount: widget.detailModel!.prestrTF);
  5509 + // bus.emit("refresh_detail");
  5510 + // });
  5511 + // }
  5512 + // }
5328 5513
5329 @override 5514 @override
5330 Widget build(BuildContext context) { 5515 Widget build(BuildContext context) {
@@ -183,13 +183,13 @@ class TableManagerModel with ChangeNotifier { @@ -183,13 +183,13 @@ class TableManagerModel with ChangeNotifier {
183 night = 183 night =
184 userModel.user!.night!.isEmpty ? "00:00-00:00" : userModel.user!.night; 184 userModel.user!.night!.isEmpty ? "00:00-00:00" : userModel.user!.night;
185 userModel.user!.morning!.isEmpty 185 userModel.user!.morning!.isEmpty
186 - ? dailyMap.putIfAbsent("morning", () => "") 186 + ? dailyMap.putIfAbsent("morning", () => [])
187 : dailyMap.putIfAbsent("morning", () => _getHourAndMinute(morning!, 1)); 187 : dailyMap.putIfAbsent("morning", () => _getHourAndMinute(morning!, 1));
188 userModel.user!.noon!.isEmpty 188 userModel.user!.noon!.isEmpty
189 - ? dailyMap.putIfAbsent("noon", () => "") 189 + ? dailyMap.putIfAbsent("noon", () => [])
190 : dailyMap.putIfAbsent("noon", () => _getHourAndMinute(noon!, 2)); 190 : dailyMap.putIfAbsent("noon", () => _getHourAndMinute(noon!, 2));
191 userModel.user!.night!.isEmpty 191 userModel.user!.night!.isEmpty
192 - ? dailyMap.putIfAbsent("night", () => "") 192 + ? dailyMap.putIfAbsent("night", () => [])
193 : dailyMap.putIfAbsent("night", () => _getHourAndMinute(night!, 3)); 193 : dailyMap.putIfAbsent("night", () => _getHourAndMinute(night!, 3));
194 if (dateTime.isBefore(DateTime.parse(dateTime.year.toString() + 194 if (dateTime.isBefore(DateTime.parse(dateTime.year.toString() +
195 "-" + 195 "-" +
@@ -239,7 +239,13 @@ class TableManagerModel with ChangeNotifier { @@ -239,7 +239,13 @@ class TableManagerModel with ChangeNotifier {
239 currTimeIndex = 3; 239 currTimeIndex = 3;
240 } else { 240 } else {
241 //过了晚市 241 //过了晚市
242 - currTimeIndex = 3; 242 + if (morning != '00:00-00:00') {
  243 + currTimeIndex = 1;
  244 + } else if (noon != '00:00-00:00') {
  245 + currTimeIndex = 2;
  246 + } else if (night != '00:00-00:00') {
  247 + currTimeIndex = 3;
  248 + }
243 } 249 }
244 selectDateStr = returnDayDateStr(dateTime); 250 selectDateStr = returnDayDateStr(dateTime);
245 selectWeekAndLunarCalendar = returnWeekAndLunarCalendar(dateTime, context); 251 selectWeekAndLunarCalendar = returnWeekAndLunarCalendar(dateTime, context);
@@ -793,7 +799,7 @@ class TableManagerModel with ChangeNotifier { @@ -793,7 +799,7 @@ class TableManagerModel with ChangeNotifier {
793 'edate': '${end}', 799 'edate': '${end}',
794 // 'ddate_interval': currTimeIndex.toString() 800 // 'ddate_interval': currTimeIndex.toString()
795 }; 801 };
796 - (bool, bool) result = await ( 802 + (bool, bool) result = await (
797 _getOldReserve(context, params, showloading, selfDismiss: selfDismiss), 803 _getOldReserve(context, params, showloading, selfDismiss: selfDismiss),
798 getBanquetByDate(context, banquetmap, 804 getBanquetByDate(context, banquetmap,
799 showLoading: showloading, selfDismiss: selfDismiss) 805 showLoading: showloading, selfDismiss: selfDismiss)
@@ -801,10 +807,9 @@ class TableManagerModel with ChangeNotifier { @@ -801,10 +807,9 @@ class TableManagerModel with ChangeNotifier {
801 807
802 if (result.$1 && result.$2) { 808 if (result.$1 && result.$2) {
803 return true; 809 return true;
804 - }else{ 810 + } else {
805 return false; 811 return false;
806 } 812 }
807 -  
808 } 813 }
809 814
810 Future<bool> _getOldReserve(context, params, showloading, 815 Future<bool> _getOldReserve(context, params, showloading,
@@ -1379,8 +1384,7 @@ class TableManagerModel with ChangeNotifier { @@ -1379,8 +1384,7 @@ class TableManagerModel with ChangeNotifier {
1379 } 1384 }
1380 1385
1381 //获取区域数据 1386 //获取区域数据
1382 - Future<List<AreaSunModel>?> getRegionBySellerid(  
1383 - BuildContext context) async { 1387 + Future<List<AreaSunModel>?> getRegionBySellerid(BuildContext context) async {
1384 Map<String, String?> params = { 1388 Map<String, String?> params = {
1385 "sellerid": Provider.of<UserModel>(context, listen: false).user!.sellerid 1389 "sellerid": Provider.of<UserModel>(context, listen: false).user!.sellerid
1386 }; 1390 };