|
|
|
import 'package:diplomaticquarterapp/models/FamilyFiles/PatientERVirtualHistoryResponse.dart';
|
|
|
|
import 'package:diplomaticquarterapp/pages/livecare/widgets/LiveCarePendingRequest.dart';
|
|
|
|
import 'package:diplomaticquarterapp/pages/livecare/widgets/clinic_list.dart';
|
|
|
|
import 'package:diplomaticquarterapp/pages/livecare/widgets/livecare_logs.dart';
|
|
|
|
import 'package:diplomaticquarterapp/services/livecare_services/livecare_provider.dart';
|
|
|
|
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
|
|
|
|
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
|
|
|
|
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
|
|
|
class LiveCareHome extends StatefulWidget {
|
|
|
|
static bool showFooterButton = true;
|
|
|
|
|
|
|
|
@override
|
|
|
|
_LiveCareHomeState createState() => _LiveCareHomeState();
|
|
|
|
}
|
|
|
|
|
|
|
|
class _LiveCareHomeState extends State<LiveCareHome>
|
|
|
|
with SingleTickerProviderStateMixin {
|
|
|
|
TabController _tabController;
|
|
|
|
|
|
|
|
bool isDataLoaded = false;
|
|
|
|
bool hasLiveCareRequest = false;
|
|
|
|
|
|
|
|
List<ErRequestHistoryList> erRequestHistoryList;
|
|
|
|
|
|
|
|
ErRequestHistoryList pendingERRequestHistoryList;
|
|
|
|
|
|
|
|
@override
|
|
|
|
void initState() {
|
|
|
|
_tabController = new TabController(length: 2, vsync: this);
|
|
|
|
erRequestHistoryList = List();
|
|
|
|
|
|
|
|
pendingERRequestHistoryList = new ErRequestHistoryList();
|
|
|
|
|
|
|
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
|
|
|
if (!isDataLoaded) getLiveCareHistory();
|
|
|
|
});
|
|
|
|
|
|
|
|
super.initState();
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
return AppScaffold(
|
|
|
|
appBarTitle: "LiveCare",
|
|
|
|
isShowAppBar: true,
|
|
|
|
body: Container(
|
|
|
|
child: Column(children: [
|
|
|
|
/// this is will not colored with theme data
|
|
|
|
TabBar(
|
|
|
|
labelColor: Colors.black,
|
|
|
|
tabs: [
|
|
|
|
Tab(text: TranslationBase.of(context).consultation),
|
|
|
|
Tab(text: TranslationBase.of(context).logs),
|
|
|
|
],
|
|
|
|
controller: _tabController,
|
|
|
|
),
|
|
|
|
Divider(
|
|
|
|
color: Colors.grey[600],
|
|
|
|
thickness: 0.5,
|
|
|
|
),
|
|
|
|
Expanded(
|
|
|
|
child: TabBarView(
|
|
|
|
physics: NeverScrollableScrollPhysics(),
|
|
|
|
children: [
|
|
|
|
isDataLoaded && !hasLiveCareRequest
|
|
|
|
? ClinicList(
|
|
|
|
getLiveCareHistory: getLiveCareHistory,
|
|
|
|
)
|
|
|
|
: isDataLoaded
|
|
|
|
? LiveCarePendingRequest(
|
|
|
|
getLiveCareHistory: getLiveCareHistory,
|
|
|
|
pendingERRequestHistoryList:
|
|
|
|
pendingERRequestHistoryList)
|
|
|
|
: Container(),
|
|
|
|
isDataLoaded
|
|
|
|
? LiveCareLogs(
|
|
|
|
erRequestHistoryList: erRequestHistoryList,
|
|
|
|
)
|
|
|
|
: Container(),
|
|
|
|
],
|
|
|
|
controller: _tabController,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
]),
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
void getLiveCareHistory() {
|
|
|
|
GifLoaderDialogUtils.showMyDialog(context);
|
|
|
|
setState(() {
|
|
|
|
isDataLoaded = false;
|
|
|
|
hasLiveCareRequest = false;
|
|
|
|
});
|
|
|
|
LiveCareService service = new LiveCareService();
|
|
|
|
PatientERVirtualHistoryResponse patientERVirtualHistoryResponse =
|
|
|
|
new PatientERVirtualHistoryResponse();
|
|
|
|
service.getLivecareHistory(context).then((res) {
|
|
|
|
GifLoaderDialogUtils.hideDialog(context);
|
|
|
|
setState(() {
|
|
|
|
print(res['ErRequestHistoryList'].length);
|
|
|
|
if (res['ErRequestHistoryList'].length != 0) {
|
|
|
|
patientERVirtualHistoryResponse =
|
|
|
|
PatientERVirtualHistoryResponse.fromJson(res);
|
|
|
|
erRequestHistoryList =
|
|
|
|
patientERVirtualHistoryResponse.erRequestHistoryList;
|
|
|
|
|
|
|
|
if (patientERVirtualHistoryResponse
|
|
|
|
.erRequestHistoryList[0].callStatus <
|
|
|
|
4) {
|
|
|
|
pendingERRequestHistoryList =
|
|
|
|
patientERVirtualHistoryResponse.erRequestHistoryList[0];
|
|
|
|
hasLiveCareRequest = true;
|
|
|
|
} else {
|
|
|
|
hasLiveCareRequest = false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
isDataLoaded = true;
|
|
|
|
});
|
|
|
|
}).catchError((err) {
|
|
|
|
GifLoaderDialogUtils.hideDialog(context);
|
|
|
|
print(err);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|