|
|
|
@ -93,10 +93,12 @@ class _WorkListScreenState extends State<WorkListScreen> {
|
|
|
|
final ScrollController _controller = ScrollController();
|
|
|
|
final ScrollController _controller = ScrollController();
|
|
|
|
|
|
|
|
|
|
|
|
int pNotificationType = 1;
|
|
|
|
int pNotificationType = 1;
|
|
|
|
|
|
|
|
ScrollController? _scrollController;
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
@override
|
|
|
|
void initState() {
|
|
|
|
void initState() {
|
|
|
|
super.initState();
|
|
|
|
super.initState();
|
|
|
|
|
|
|
|
_scrollController = ScrollController()..addListener(_scrollListener);
|
|
|
|
providerData = Provider.of<DashboardProviderModel>(context, listen: false);
|
|
|
|
providerData = Provider.of<DashboardProviderModel>(context, listen: false);
|
|
|
|
calculateCounter();
|
|
|
|
calculateCounter();
|
|
|
|
if (workListItemIndex != null) getWorkList();
|
|
|
|
if (workListItemIndex != null) getWorkList();
|
|
|
|
@ -154,7 +156,7 @@ class _WorkListScreenState extends State<WorkListScreen> {
|
|
|
|
ItgFormsModel? itgFormsModel;
|
|
|
|
ItgFormsModel? itgFormsModel;
|
|
|
|
int? itgRequestTypeIndex;
|
|
|
|
int? itgRequestTypeIndex;
|
|
|
|
|
|
|
|
|
|
|
|
Future<void> getWorkList({bool showLoading = true}) async {
|
|
|
|
Future<void> getWorkList({bool showLoading = true, bool isCallingFromRefresh = false}) async {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
if (showLoading) Utils.showLoading(context);
|
|
|
|
if (showLoading) Utils.showLoading(context);
|
|
|
|
if (workListItemTypes[workListItemIndex!].key == "ITG") {
|
|
|
|
if (workListItemTypes[workListItemIndex!].key == "ITG") {
|
|
|
|
@ -173,7 +175,12 @@ class _WorkListScreenState extends State<WorkListScreen> {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
itgRequestTypeIndex = null;
|
|
|
|
itgRequestTypeIndex = null;
|
|
|
|
workList = await WorkListApiClient().getWorkList(pageNumber, workListItemTypes[workListItemIndex!].key, pNotificationType.toString());
|
|
|
|
List<WorkListResponseModel>? _list = await WorkListApiClient().getWorkList(pageNumber, workListItemTypes[workListItemIndex!].key, pNotificationType.toString());
|
|
|
|
|
|
|
|
if (workList != null && _list != null && !isCallingFromRefresh) {
|
|
|
|
|
|
|
|
workList!.addAll(_list);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
workList = _list;
|
|
|
|
|
|
|
|
}
|
|
|
|
AppState().setWorkList = workList;
|
|
|
|
AppState().setWorkList = workList;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (showLoading) Utils.hideLoading(context);
|
|
|
|
if (showLoading) Utils.hideLoading(context);
|
|
|
|
@ -188,9 +195,10 @@ class _WorkListScreenState extends State<WorkListScreen> {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
_refreshController.refreshCompleted();
|
|
|
|
_refreshController.refreshCompleted();
|
|
|
|
Utils.showLoading(context);
|
|
|
|
Utils.showLoading(context);
|
|
|
|
|
|
|
|
pageNumber = 1;
|
|
|
|
List dataOnRefresh = await Future.wait([
|
|
|
|
List dataOnRefresh = await Future.wait([
|
|
|
|
providerData.fetchWorkListCounter(context, showLoading: false),
|
|
|
|
providerData.fetchWorkListCounter(context, showLoading: false),
|
|
|
|
getWorkList(showLoading: false),
|
|
|
|
getWorkList(showLoading: false, isCallingFromRefresh: true),
|
|
|
|
]);
|
|
|
|
]);
|
|
|
|
calculateCounter();
|
|
|
|
calculateCounter();
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
@ -203,9 +211,19 @@ class _WorkListScreenState extends State<WorkListScreen> {
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
@override
|
|
|
|
void dispose() {
|
|
|
|
void dispose() {
|
|
|
|
|
|
|
|
_scrollController?.dispose();
|
|
|
|
super.dispose();
|
|
|
|
super.dispose();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void _scrollListener() {
|
|
|
|
|
|
|
|
if (_scrollController!.position.pixels == _scrollController!.position.maxScrollExtent) {
|
|
|
|
|
|
|
|
pageNumber = pageNumber + 1;
|
|
|
|
|
|
|
|
if (itgRequestTypeIndex == null && workListItemTypes[workListItemIndex!].value != workList!.length) {
|
|
|
|
|
|
|
|
getWorkList();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
return Scaffold(
|
|
|
|
return Scaffold(
|
|
|
|
@ -236,6 +254,7 @@ class _WorkListScreenState extends State<WorkListScreen> {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (workListItemIndex != index && !workListItemTypes[index].disable) {
|
|
|
|
if (workListItemIndex != index && !workListItemTypes[index].disable) {
|
|
|
|
workListItemIndex = index;
|
|
|
|
workListItemIndex = index;
|
|
|
|
|
|
|
|
pageNumber = 1;
|
|
|
|
if (workListItemTypes[index].value == 0) {
|
|
|
|
if (workListItemTypes[index].value == 0) {
|
|
|
|
workList = [];
|
|
|
|
workList = [];
|
|
|
|
itgRequestTypeIndex = null;
|
|
|
|
itgRequestTypeIndex = null;
|
|
|
|
@ -273,6 +292,7 @@ class _WorkListScreenState extends State<WorkListScreen> {
|
|
|
|
),
|
|
|
|
),
|
|
|
|
controller: _refreshController,
|
|
|
|
controller: _refreshController,
|
|
|
|
onRefresh: _onRefresh,
|
|
|
|
onRefresh: _onRefresh,
|
|
|
|
|
|
|
|
scrollController: _scrollController,
|
|
|
|
child: SingleChildScrollView(
|
|
|
|
child: SingleChildScrollView(
|
|
|
|
physics: const BouncingScrollPhysics(),
|
|
|
|
physics: const BouncingScrollPhysics(),
|
|
|
|
child: itgRequestTypeIndex != null
|
|
|
|
child: itgRequestTypeIndex != null
|
|
|
|
@ -354,7 +374,6 @@ class _WorkListScreenState extends State<WorkListScreen> {
|
|
|
|
setState(() {});
|
|
|
|
setState(() {});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
verifyWorkListCounter();
|
|
|
|
verifyWorkListCounter();
|
|
|
|
if (mounted) setState(() {});
|
|
|
|
if (mounted) setState(() {});
|
|
|
|
|