sick leave
parent
900264bc26
commit
ba2697c917
@ -0,0 +1,28 @@
|
|||||||
|
import 'package:doctor_app_flutter/config/config.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/service/base/base_service.dart';
|
||||||
|
// import 'package:doctor_app_flutter/models/dashboard/dashboard_model.dart';
|
||||||
|
|
||||||
|
class DashboardService extends BaseService {
|
||||||
|
var _dashboardItemsList = [];
|
||||||
|
get dashboardItemsList => _dashboardItemsList;
|
||||||
|
|
||||||
|
// DashboardModel _dashboard = DashboardModel();
|
||||||
|
|
||||||
|
Future getDashboard() async {
|
||||||
|
await baseAppClient.post(
|
||||||
|
GET_DASHBOARD,
|
||||||
|
onSuccess: (dynamic response, int statusCode) {
|
||||||
|
_dashboardItemsList.clear();
|
||||||
|
_dashboardItemsList = response['listDoctorDashboarKPI'];
|
||||||
|
},
|
||||||
|
onFailure: (String error, int statusCode) {
|
||||||
|
hasError = true;
|
||||||
|
super.error = error;
|
||||||
|
},
|
||||||
|
body: {
|
||||||
|
"VidaAuthTokenID":
|
||||||
|
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyODA0IiwianRpIjoiZDYxZmM5MTQtZWFhYy00YjQ4LTgyMmEtMmE3OTNlZDMzZGYwIiwiZW1haWwiOiJNb2hhbWVkLlJlc3dhbkBjbG91ZHNvbHV0aW9uLXNhLmNvbSIsImlkIjoiMjgwNCIsIk5hbWUiOiJNVUhBTU1BRCBBWkFNIiwiRW1wbG95ZWVJZCI6IjE0ODUiLCJGYWNpbGl0eUdyb3VwSWQiOiIwMTAyNjYiLCJGYWNpbGl0eUlkIjoiMTUiLCJQaGFyYW1jeUZhY2lsaXR5SWQiOiI1NSIsIklTX1BIQVJNQUNZX0NPTk5FQ1RFRCI6IlRydWUiLCJEb2N0b3JJZCI6IjE0ODUiLCJTRVNTSU9OSUQiOiIyMTU3NTgwOCIsIkNsaW5pY0lkIjoiMyIsInJvbGUiOlsiU0VDVVJJVFkgQURNSU5JU1RSQVRPUlMiLCJTRVRVUCBBRE1JTklTVFJBVE9SUyIsIkNFTydTIiwiRVhFQ1VUSVZFIERJUkVDVE9SUyIsIk1BTkFHRVJTIiwiU1VQRVJWSVNPUlMiLCJDTElFTlQgU0VSVklDRVMgQ09PUkRJTkFUT1JTIiwiQ0xJRU5UIFNFUlZJQ0VTIFNVUEVSVklTT1JTIiwiQ0xJRU5UIFNFUlZJQ0VTIE1BTkdFUlMiLCJIRUFEIE5VUlNFUyIsIkRPQ1RPUlMiLCJDSElFRiBPRiBNRURJQ0FMIFNUQUZGUyIsIkJJTy1NRURJQ0FMIFRFQ0hOSUNJQU5TIiwiQklPLU1FRElDQUwgRU5HSU5FRVJTIiwiQklPLU1FRElDQUwgREVQQVJUTUVOVCBIRUFEUyIsIklUIEhFTFAgREVTSyIsIkFETUlOSVNUUkFUT1JTIiwiTEFCIEFETUlOSVNUUkFUT1IiLCJMQUIgVEVDSE5JQ0lBTiIsIkJVU0lORVNTIE9GRklDRSBTVEFGRiIsIkZJTkFOQ0UgQUNDT1VOVEFOVFMiLCJQSEFSTUFDWSBTVEFGRiIsIkFDQ09VTlRTIFNUQUZGIiwiTEFCIFJFQ0VQVElPTklTVCIsIkVSIE5VUlNFIiwiSU5QQVRJRU5UIEJJTExJTkcgU1VQRVJWSVNPUiIsIkxEUi1PUiBOVVJTRVMiLCJBRE1JU1NJT04gU1RBRkYiLCJIRUxQIERFU0sgQURNSU4iLCJBUFBST1ZBTCBTVEFGRiIsIklOUEFUSUVOVCBCSUxMSU5HIENPT1JESU5BVE9SIiwiQklMTElORyBTVEFGRiIsIkNPTlNFTlQgIiwiQ29uc2VudCAtIERlbnRhbCIsIldFQkVNUiJdLCJuYmYiOjE2MDgwMjg0NzQsImV4cCI6MTYwODg5MjQ3NCwiaWF0IjoxNjA4MDI4NDc0fQ.8OJcy6vUuPnNTi_qSjip8YCrFdaRLtJKbNKXcMtnQxk"
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
import 'package:doctor_app_flutter/config/config.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/service/base/base_service.dart';
|
||||||
|
// import 'package:doctor_app_flutter/models/dashboard/dashboard_model.dart';
|
||||||
|
|
||||||
|
class SickLeaveService extends BaseService {
|
||||||
|
var _statistics = {};
|
||||||
|
get sickLeavestatisitics => _statistics;
|
||||||
|
|
||||||
|
Future getStatistics() async {
|
||||||
|
await baseAppClient.post(
|
||||||
|
GET_SICKLEAVE_STATISTIC,
|
||||||
|
onSuccess: (dynamic response, int statusCode) {
|
||||||
|
print(response);
|
||||||
|
_statistics = response['SickLeaveStatistics'];
|
||||||
|
},
|
||||||
|
onFailure: (String error, int statusCode) {
|
||||||
|
hasError = true;
|
||||||
|
super.error = error;
|
||||||
|
},
|
||||||
|
body: {"PatientMRN": 3120737, "AppointmentNo": 2016055008},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,21 @@
|
|||||||
|
import 'package:doctor_app_flutter/core/enum/viewstate.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/service/dasboard_service.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/service/medicine_service.dart';
|
||||||
|
|
||||||
|
import '../../locator.dart';
|
||||||
|
import 'base_view_model.dart';
|
||||||
|
|
||||||
|
class DashboardViewModel extends BaseViewModel {
|
||||||
|
DashboardService _dashboardService = locator<DashboardService>();
|
||||||
|
get dashboardItemsList => _dashboardService.dashboardItemsList;
|
||||||
|
|
||||||
|
Future getDashboard() async {
|
||||||
|
setState(ViewState.Busy);
|
||||||
|
await _dashboardService.getDashboard();
|
||||||
|
if (_dashboardService.hasError) {
|
||||||
|
error = _dashboardService.error;
|
||||||
|
setState(ViewState.Error);
|
||||||
|
} else
|
||||||
|
setState(ViewState.Idle);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,31 @@
|
|||||||
|
import 'package:doctor_app_flutter/core/enum/viewstate.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/service/sickleave_service.dart';
|
||||||
|
import 'package:doctor_app_flutter/core/service/medicine_service.dart';
|
||||||
|
|
||||||
|
import '../../locator.dart';
|
||||||
|
import 'base_view_model.dart';
|
||||||
|
|
||||||
|
class SickLeaveViewModel extends BaseViewModel {
|
||||||
|
SickLeaveService _sickLeaveService = locator<SickLeaveService>();
|
||||||
|
get sickLeaveStatistics => _sickLeaveService.sickLeavestatisitics;
|
||||||
|
|
||||||
|
// Future getDashboard() async {
|
||||||
|
// setState(ViewState.Busy);
|
||||||
|
// await _dashboardService.getDashboard();
|
||||||
|
// if (_dashboardService.hasError) {
|
||||||
|
// error = _dashboardService.error;
|
||||||
|
// setState(ViewState.Error);
|
||||||
|
// } else
|
||||||
|
// setState(ViewState.Idle);
|
||||||
|
// }
|
||||||
|
|
||||||
|
Future preSickLeaveStatistics() async {
|
||||||
|
setState(ViewState.Busy);
|
||||||
|
await _sickLeaveService.getStatistics();
|
||||||
|
if (_sickLeaveService.hasError) {
|
||||||
|
error = _sickLeaveService.error;
|
||||||
|
setState(ViewState.Error);
|
||||||
|
} else
|
||||||
|
setState(ViewState.Idle);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,70 @@
|
|||||||
|
class DashboardModel {
|
||||||
|
String kPIName;
|
||||||
|
int displaySequence;
|
||||||
|
List<Summaryoptions> summaryoptions;
|
||||||
|
|
||||||
|
DashboardModel({this.kPIName, this.displaySequence, this.summaryoptions});
|
||||||
|
|
||||||
|
DashboardModel.fromJson(Map<String, dynamic> json) {
|
||||||
|
kPIName = json['KPIName'];
|
||||||
|
displaySequence = json['displaySequence'];
|
||||||
|
if (json['summaryoptions'] != null) {
|
||||||
|
summaryoptions = new List<Summaryoptions>();
|
||||||
|
json['summaryoptions'].forEach((v) {
|
||||||
|
summaryoptions.add(new Summaryoptions.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['KPIName'] = this.kPIName;
|
||||||
|
data['displaySequence'] = this.displaySequence;
|
||||||
|
if (this.summaryoptions != null) {
|
||||||
|
data['summaryoptions'] =
|
||||||
|
this.summaryoptions.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Summaryoptions {
|
||||||
|
String kPIParameter;
|
||||||
|
String captionColor;
|
||||||
|
bool isCaptionBold;
|
||||||
|
bool isValueBold;
|
||||||
|
int order;
|
||||||
|
int value;
|
||||||
|
String valueColor;
|
||||||
|
|
||||||
|
Summaryoptions(
|
||||||
|
{this.kPIParameter,
|
||||||
|
this.captionColor,
|
||||||
|
this.isCaptionBold,
|
||||||
|
this.isValueBold,
|
||||||
|
this.order,
|
||||||
|
this.value,
|
||||||
|
this.valueColor});
|
||||||
|
|
||||||
|
Summaryoptions.fromJson(Map<String, dynamic> json) {
|
||||||
|
kPIParameter = json['KPIParameter'];
|
||||||
|
captionColor = json['captionColor'];
|
||||||
|
isCaptionBold = json['isCaptionBold'];
|
||||||
|
isValueBold = json['isValueBold'];
|
||||||
|
order = json['order'];
|
||||||
|
value = json['value'];
|
||||||
|
valueColor = json['valueColor'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['KPIParameter'] = this.kPIParameter;
|
||||||
|
data['captionColor'] = this.captionColor;
|
||||||
|
data['isCaptionBold'] = this.isCaptionBold;
|
||||||
|
data['isValueBold'] = this.isValueBold;
|
||||||
|
data['order'] = this.order;
|
||||||
|
data['value'] = this.value;
|
||||||
|
data['valueColor'] = this.valueColor;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
|
||||||
|
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class AddSickLeavScreen extends StatelessWidget {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return AppScaffold(
|
||||||
|
appBarTitle: TranslationBase.of(context).sickleave,
|
||||||
|
body: Center(
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
padding: EdgeInsets.all(20),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
border: Border.all(
|
||||||
|
color: Colors.red[500],
|
||||||
|
),
|
||||||
|
borderRadius: BorderRadius.all(Radius.circular(20))),
|
||||||
|
child: IconButton(icon: Icon(Icons.add), onPressed: null),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue