锁操作记录页面新增下拉刷新上拉加载数据处理
This commit is contained in:
parent
0c4129abea
commit
9d29bd5b6b
@ -135,27 +135,26 @@ class DoorLockLogLogic extends BaseGetXController {
|
||||
}
|
||||
|
||||
//请求操作记录列表(门锁日志)
|
||||
void mockNetworkDataRequest() async {
|
||||
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++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// 刷新门锁日志列表
|
||||
StreamSubscription? _getDoorLockLogListRefreshUIEvent;
|
||||
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@ -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,7 +150,14 @@ class _DoorLockLogPageState extends State<DoorLockLogPage> with RouteAware {
|
||||
color: Colors.white,
|
||||
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(
|
||||
builder: _timelineBuilderWidget(),
|
||||
theme: TimelineThemeData(
|
||||
@ -167,7 +174,7 @@ class _DoorLockLogPageState extends State<DoorLockLogPage> with RouteAware {
|
||||
),
|
||||
),
|
||||
)
|
||||
: NoData()),
|
||||
: NoData())),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user