增加下拉刷新功能
This commit is contained in:
parent
c6957c182f
commit
938a5df35f
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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<String>(
|
||||
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),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
|
|
|||
24
pubspec.lock
24
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:
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Reference in New Issue