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

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 { void mockNetworkDataRequest({required bool isRefresh}) async {
state.lockLogItemList.clear(); //
if (isRefresh) {
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!; state.lockLogItemList.addAll(entity.data!.itemList!);
pageNo++; //
} else { pageNo++;
if (entity.data!.itemList!.isNotEmpty) {
state.lockLogItemList.addAll(entity.data!.itemList!);
pageNo++;
}
}
} }
} }
@ -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,24 +150,31 @@ 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(
? Timeline.tileBuilder( onRefresh: () async {
builder: _timelineBuilderWidget(), logic.mockNetworkDataRequest(isRefresh: true);
theme: TimelineThemeData( },
nodePosition: 0.04, // onLoad: () async {
connectorTheme: const ConnectorThemeData( logic.mockNetworkDataRequest(isRefresh: false);
thickness: 1.0, },
color: AppColors.greyLineColor, child: state.lockLogItemList.isNotEmpty
indent: 0.5, ? Timeline.tileBuilder(
), builder: _timelineBuilderWidget(),
indicatorTheme: const IndicatorThemeData( theme: TimelineThemeData(
size: 8.0, nodePosition: 0.04, //
color: AppColors.greyLineColor, connectorTheme: const ConnectorThemeData(
position: 0.4, thickness: 1.0,
), color: AppColors.greyLineColor,
), indent: 0.5,
) ),
: NoData()), indicatorTheme: const IndicatorThemeData(
size: 8.0,
color: AppColors.greyLineColor,
position: 0.4,
),
),
)
: NoData())),
); );
} }