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

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

View File

@ -135,7 +135,7 @@ class _DoorLockLogPageState extends State<DoorLockLogPage> with RouteAware {
value: state.dropdownTitle.value,
valueChanged: (value) {
state.dropdownValue.value = int.parse(value);
logic.mockNetworkDataRequest();
logic.mockNetworkDataRequest(isRefresh: true);
})),
],
),
@ -150,24 +150,31 @@ class _DoorLockLogPageState extends State<DoorLockLogPage> with RouteAware {
color: Colors.white,
borderRadius: BorderRadius.circular(16.w),
),
child: Obx(() => state.lockLogItemList.isNotEmpty
? Timeline.tileBuilder(
builder: _timelineBuilderWidget(),
theme: TimelineThemeData(
nodePosition: 0.04, //
connectorTheme: const ConnectorThemeData(
thickness: 1.0,
color: AppColors.greyLineColor,
indent: 0.5,
),
indicatorTheme: const IndicatorThemeData(
size: 8.0,
color: AppColors.greyLineColor,
position: 0.4,
),
),
)
: NoData()),
child: Obx(() => EasyRefreshTool(
onRefresh: () async {
logic.mockNetworkDataRequest(isRefresh: true);
},
onLoad: () async {
logic.mockNetworkDataRequest(isRefresh: false);
},
child: state.lockLogItemList.isNotEmpty
? Timeline.tileBuilder(
builder: _timelineBuilderWidget(),
theme: TimelineThemeData(
nodePosition: 0.04, //
connectorTheme: const ConnectorThemeData(
thickness: 1.0,
color: AppColors.greyLineColor,
indent: 0.5,
),
indicatorTheme: const IndicatorThemeData(
size: 8.0,
color: AppColors.greyLineColor,
position: 0.4,
),
),
)
: NoData())),
);
}