From 938a5df35ff225d7bda3d8e515749eb22b8449db Mon Sep 17 00:00:00 2001 From: GYJ <1157756119@qq.com> Date: Wed, 27 Nov 2024 16:31:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=8B=E6=8B=89=E5=88=B7?= =?UTF-8?q?=E6=96=B0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/common/manager/app_manager.dart | 16 ++++++++ lib/home/reserve_left_content_view.dart | 52 +++++++++++++++++-------- pubspec.lock | 24 ++++++++++++ pubspec.yaml | 1 + 4 files changed, 76 insertions(+), 17 deletions(-) diff --git a/lib/common/manager/app_manager.dart b/lib/common/manager/app_manager.dart index c8e1d23..87f5ea7 100644 --- a/lib/common/manager/app_manager.dart +++ b/lib/common/manager/app_manager.dart @@ -2,6 +2,7 @@ import 'package:cashier_reserve/common/push/push.dart'; import 'package:cashier_reserve/data_model/login/login_result.dart'; import 'package:cashier_reserve/login/login_view.dart'; import 'package:cashier_reserve/model/reserve_model.dart'; +import 'package:easy_refresh/easy_refresh.dart'; import '../base/ui.dart'; import '../channel/channel_event.dart'; @@ -18,6 +19,21 @@ class AppManager { MyEventChannel.startListener(); await HiveManager.initHive(); + + EasyRefresh.defaultHeaderBuilder = () => const ClassicHeader( + dragText: "下拉刷新", + readyText: "释放刷新", + armedText: "正在刷新", + processingText: "正在刷新", + processedText: "刷新完成", + noMoreText: "没有更多数据了", + failedText: "刷新失败", + messageText: "上次刷新时间:%T", + showText: true, + showMessage: true, + iconDimension: 30, + spacing: 10, + ); } static void setGlobalContext(BuildContext context) { diff --git a/lib/home/reserve_left_content_view.dart b/lib/home/reserve_left_content_view.dart index bb0b17b..6e47441 100644 --- a/lib/home/reserve_left_content_view.dart +++ b/lib/home/reserve_left_content_view.dart @@ -3,6 +3,7 @@ import 'package:cashier_reserve/common/channel/call_log_model.dart'; import 'package:cashier_reserve/common/print/print.dart'; import 'package:cashier_reserve/data_model/reserve/reserve_log_model.dart'; import 'package:cashier_reserve/home/reserve_view_model.dart'; +import 'package:easy_refresh/easy_refresh.dart'; import 'package:flutter/cupertino.dart'; class ReserveLeftContentView extends StatelessWidget { @@ -10,9 +11,7 @@ class ReserveLeftContentView extends StatelessWidget { final double inputItemHeight = 36; final ReserveViewModel provider; - const ReserveLeftContentView( - {super.key, - required this.provider}); + const ReserveLeftContentView({super.key, required this.provider}); @override Widget build(BuildContext context) { @@ -75,11 +74,17 @@ class ReserveLeftContentView extends StatelessWidget { Expanded( child: SizedBox( width: contentWidth, - child: ListView.builder( - itemCount: provider.callLogs?.length ?? 0, - itemBuilder: (context, index) { - return _buildCallRecordItem(context, provider.callLogs?[index]); + child: EasyRefresh( + onRefresh: () async { + provider.loadCallLog(); + yjPrint("onRefresh"); }, + child: ListView.builder( + itemCount: provider.callLogs?.length ?? 0, + itemBuilder: (context, index) { + return _buildCallRecordItem(context, provider.callLogs?[index]); + }, + ), ), )), Container( @@ -122,7 +127,8 @@ class ReserveLeftContentView extends StatelessWidget { /// _buildCallRecordItem 通话记录item Widget _buildCallRecordItem(BuildContext context, CallLogModel? model) { - ReserveLogModel? reserveLogModel = provider.getReserveLogModel(model?.number ?? ""); + ReserveLogModel? reserveLogModel = + provider.getReserveLogModel(model?.number ?? ""); return Container( padding: const EdgeInsets.fromLTRB(15, 15, 15, 5), child: Column( @@ -168,16 +174,16 @@ class ReserveLeftContentView extends StatelessWidget { ), Text( "已消费${reserveLogModel?.consumeOrders ?? '0'}单", - style: - const TextStyle(color: Color(0xff333333), fontSize: 14), + style: const TextStyle( + color: Color(0xff333333), fontSize: 14), ), const SizedBox( width: 15, ), Text( "已撤${reserveLogModel?.cancelOrders ?? '0'}单", - style: - const TextStyle(color: Color(0xff333333), fontSize: 14), + style: const TextStyle( + color: Color(0xff333333), fontSize: 14), ), ], ), @@ -713,7 +719,9 @@ class ReserveLeftContentView extends StatelessWidget { ], ), ), - const SizedBox(width: 10,), + const SizedBox( + width: 10, + ), SizedBox( height: inputItemHeight, width: itemWidth, @@ -727,7 +735,10 @@ class ReserveLeftContentView extends StatelessWidget { provider.updateBookingStandard(value ?? "table"); }, ), - const Text('元/桌', style: TextStyle(fontSize: 12, color: Color(0xff666666)),), + const Text( + '元/桌', + style: TextStyle(fontSize: 12, color: Color(0xff666666)), + ), Radio( value: "person", groupValue: provider.bookingStandardType, @@ -735,7 +746,10 @@ class ReserveLeftContentView extends StatelessWidget { provider.updateBookingStandard(value ?? "person"); }, ), - const Text('元/人', style: TextStyle(fontSize: 12, color: Color(0xff666666)),), + const Text( + '元/人', + style: TextStyle(fontSize: 12, color: Color(0xff666666)), + ), ], ), ) @@ -787,7 +801,8 @@ class ReserveLeftContentView extends StatelessWidget { ); } - Widget _buildBookingActionBtn(BuildContext context, String title, Function() onTap) { + Widget _buildBookingActionBtn( + BuildContext context, String title, Function() onTap) { return InkWell( onTap: onTap, child: Container( @@ -796,7 +811,10 @@ class ReserveLeftContentView extends StatelessWidget { color: Colors.blue, ), padding: const EdgeInsets.fromLTRB(20, 5, 20, 5), - child: Text(title, style: const TextStyle(color: Colors.white, fontSize: 14),), + child: Text( + title, + style: const TextStyle(color: Colors.white, fontSize: 14), + ), ), ); } diff --git a/pubspec.lock b/pubspec.lock index 33c59de..99b64aa 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -158,6 +158,14 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "2.0.0" + easy_refresh: + dependency: "direct main" + description: + name: easy_refresh + sha256: "486e30abfcaae66c0f2c2798a10de2298eb9dc5e0bb7e1dba9328308968cae0c" + url: "https://pub.flutter-io.cn" + source: hosted + version: "3.4.0" encrypt: dependency: "direct main" description: @@ -418,6 +426,22 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "1.9.0" + path_drawing: + dependency: transitive + description: + name: path_drawing + sha256: bbb1934c0cbb03091af082a6389ca2080345291ef07a5fa6d6e078ba8682f977 + url: "https://pub.flutter-io.cn" + source: hosted + version: "1.0.1" + path_parsing: + dependency: transitive + description: + name: path_parsing + sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca" + url: "https://pub.flutter-io.cn" + source: hosted + version: "1.1.0" path_provider: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 9dbd1f3..8aa50d6 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -49,6 +49,7 @@ dependencies: encrypt: ^5.0.3 pointycastle: ^3.9.1 url_launcher: ^6.3.1 + easy_refresh: ^3.4.0 dev_dependencies: flutter_test: