锁操作记录页面新增下拉刷新上拉加载数据处理

This commit is contained in:
Daisy 2024-05-16 14:23:35 +08:00
parent 0c4129abea
commit 9d29bd5b6b
2 changed files with 41 additions and 36 deletions

View File

@ -135,27 +135,26 @@ class DoorLockLogLogic extends BaseGetXController {
} }
// //
void mockNetworkDataRequest() async { void mockNetworkDataRequest({required bool isRefresh}) async {
//
if (isRefresh) {
state.lockLogItemList.clear(); state.lockLogItemList.clear();
pageNo = 1;
}
DoorLockLogEntity entity = await ApiRepository.to.lockEventList( DoorLockLogEntity entity = await ApiRepository.to.lockEventList(
lockId: state.keyInfos.value.lockId!, lockId: state.keyInfos.value.lockId!,
lockEventType: state.dropdownValue.value, lockEventType: state.dropdownValue.value,
pageNo: 1, pageNo: pageNo, //
pageSize: int.parse(pageSize), pageSize: int.parse(pageSize),
startDate: state.startDate.value, startDate: state.startDate.value,
endDate: state.endDate.value); endDate: state.endDate.value);
if (entity.errorCode!.codeIsSuccessful) { if (entity.errorCode!.codeIsSuccessful) {
if (pageNo == 1) { //
state.lockLogItemList.value = entity.data!.itemList!;
pageNo++;
} else {
if (entity.data!.itemList!.isNotEmpty) {
state.lockLogItemList.addAll(entity.data!.itemList!); state.lockLogItemList.addAll(entity.data!.itemList!);
//
pageNo++; pageNo++;
} }
} }
}
}
/// ///
StreamSubscription? _getDoorLockLogListRefreshUIEvent; StreamSubscription? _getDoorLockLogListRefreshUIEvent;
@ -178,7 +177,7 @@ class DoorLockLogLogic extends BaseGetXController {
.millisecondsSinceEpoch; .millisecondsSinceEpoch;
pageNo = 1; pageNo = 1;
mockNetworkDataRequest(); mockNetworkDataRequest(isRefresh: true);
}); });
} }
@ -202,8 +201,7 @@ class DoorLockLogLogic extends BaseGetXController {
if (state.ifHaveNext == true) { if (state.ifHaveNext == true) {
getLockRecordLastUploadDataTime(); getLockRecordLastUploadDataTime();
} else { } else {
pageNo = 1; mockNetworkDataRequest(isRefresh: true);
mockNetworkDataRequest();
} }
} }
} }
@ -216,7 +214,7 @@ class DoorLockLogLogic extends BaseGetXController {
if (entity.errorCode!.codeIsSuccessful) { if (entity.errorCode!.codeIsSuccessful) {
showToast("清除数据成功", something: () { showToast("清除数据成功", something: () {
pageNo = 1; pageNo = 1;
mockNetworkDataRequest(); mockNetworkDataRequest(isRefresh: true);
}); });
} }
} }
@ -231,7 +229,7 @@ class DoorLockLogLogic extends BaseGetXController {
if (isDemoMode == false) { if (isDemoMode == false) {
// _initReplySubscription(); // _initReplySubscription();
mockNetworkDataRequest(); mockNetworkDataRequest(isRefresh: true);
_getDoorLockLogListRefreshUIAction(); _getDoorLockLogListRefreshUIAction();
} }
} }

View File

@ -135,7 +135,7 @@ class _DoorLockLogPageState extends State<DoorLockLogPage> with RouteAware {
value: state.dropdownTitle.value, value: state.dropdownTitle.value,
valueChanged: (value) { valueChanged: (value) {
state.dropdownValue.value = int.parse(value); state.dropdownValue.value = int.parse(value);
logic.mockNetworkDataRequest(); logic.mockNetworkDataRequest(isRefresh: true);
})), })),
], ],
), ),
@ -150,7 +150,14 @@ class _DoorLockLogPageState extends State<DoorLockLogPage> with RouteAware {
color: Colors.white, color: Colors.white,
borderRadius: BorderRadius.circular(16.w), borderRadius: BorderRadius.circular(16.w),
), ),
child: Obx(() => state.lockLogItemList.isNotEmpty child: Obx(() => EasyRefreshTool(
onRefresh: () async {
logic.mockNetworkDataRequest(isRefresh: true);
},
onLoad: () async {
logic.mockNetworkDataRequest(isRefresh: false);
},
child: state.lockLogItemList.isNotEmpty
? Timeline.tileBuilder( ? Timeline.tileBuilder(
builder: _timelineBuilderWidget(), builder: _timelineBuilderWidget(),
theme: TimelineThemeData( theme: TimelineThemeData(
@ -167,7 +174,7 @@ class _DoorLockLogPageState extends State<DoorLockLogPage> with RouteAware {
), ),
), ),
) )
: NoData()), : NoData())),
); );
} }