add my vaccines item screen
parent
9159928e27
commit
33bd972984
@ -0,0 +1,18 @@
|
||||
class VaccinationItem {
|
||||
String dESCRIPTION;
|
||||
String iTEMCODE;
|
||||
|
||||
VaccinationItem({this.dESCRIPTION, this.iTEMCODE});
|
||||
|
||||
VaccinationItem.fromJson(Map<String, dynamic> json) {
|
||||
dESCRIPTION = json['DESCRIPTION'];
|
||||
iTEMCODE = json['ITEM_CODE'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['DESCRIPTION'] = this.dESCRIPTION;
|
||||
data['ITEM_CODE'] = this.iTEMCODE;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,44 @@
|
||||
class VaccinationOnHand {
|
||||
int distanceInKilometers;
|
||||
int iTEMONHAND;
|
||||
bool isThereItems;
|
||||
String oRGANIZATIONCODE;
|
||||
String oRGANIZATIONNAME;
|
||||
String projectAlias;
|
||||
int projectID;
|
||||
String projectName;
|
||||
|
||||
VaccinationOnHand(
|
||||
{this.distanceInKilometers,
|
||||
this.iTEMONHAND,
|
||||
this.isThereItems,
|
||||
this.oRGANIZATIONCODE,
|
||||
this.oRGANIZATIONNAME,
|
||||
this.projectAlias,
|
||||
this.projectID,
|
||||
this.projectName});
|
||||
|
||||
VaccinationOnHand.fromJson(Map<String, dynamic> json) {
|
||||
distanceInKilometers = json['DistanceInKilometers'];
|
||||
iTEMONHAND = json['ITEM_ONHAND'];
|
||||
isThereItems = json['IsThereItems'];
|
||||
oRGANIZATIONCODE = json['ORGANIZATION_CODE'];
|
||||
oRGANIZATIONNAME = json['ORGANIZATION_NAME'];
|
||||
projectAlias = json['ProjectAlias'];
|
||||
projectID = json['ProjectID'];
|
||||
projectName = json['ProjectName'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['DistanceInKilometers'] = this.distanceInKilometers;
|
||||
data['ITEM_ONHAND'] = this.iTEMONHAND;
|
||||
data['IsThereItems'] = this.isThereItems;
|
||||
data['ORGANIZATION_CODE'] = this.oRGANIZATIONCODE;
|
||||
data['ORGANIZATION_NAME'] = this.oRGANIZATIONNAME;
|
||||
data['ProjectAlias'] = this.projectAlias;
|
||||
data['ProjectID'] = this.projectID;
|
||||
data['ProjectName'] = this.projectName;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,78 @@
|
||||
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
|
||||
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
|
||||
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
|
||||
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:diplomaticquarterapp/config/size_config.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import '../base/base_view.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
|
||||
import 'package:diplomaticquarterapp/core/viewModels/vaccine_view_model.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/rounded_container.dart';
|
||||
import 'package:popup_box/popup_box.dart';
|
||||
|
||||
class MyVaccinesItemPage extends StatefulWidget {
|
||||
@override
|
||||
_MyVaccinesItemPageState createState() => _MyVaccinesItemPageState();
|
||||
}
|
||||
|
||||
class _MyVaccinesItemPageState extends State<MyVaccinesItemPage> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
ProjectViewModel projectViewModel = Provider.of(context);
|
||||
return BaseView<VaccineViewModel>(
|
||||
onModelReady: (model) => model.getMyVaccinationItem(),
|
||||
builder: (BuildContext context, VaccineViewModel model, Widget child) =>
|
||||
AppScaffold(
|
||||
isShowAppBar: true,
|
||||
appBarTitle: TranslationBase.of(context).myVaccinesAvailability,
|
||||
baseViewModel: model,
|
||||
body: Container(
|
||||
margin: EdgeInsets.only(
|
||||
left: SizeConfig.screenWidth * 0.004,
|
||||
right: SizeConfig.screenWidth * 0.004,
|
||||
top: SizeConfig.screenWidth * 0.04,
|
||||
),
|
||||
child: ListView.builder(
|
||||
itemCount: model.vaccinationItemList.length,
|
||||
itemBuilder: (context, index) => InkWell(
|
||||
onTap: () async {
|
||||
await model.getMyVaccinationOnHand(
|
||||
pItemCode: model.vaccinationItemList[index].iTEMCODE);
|
||||
if (model.hasError) {
|
||||
AppToast.showErrorToast(message: model.error);
|
||||
} else {
|
||||
//TODO show dialog
|
||||
|
||||
}
|
||||
},
|
||||
child: Container(
|
||||
margin: EdgeInsets.all(5),
|
||||
padding: EdgeInsets.all(10),
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.rectangle,
|
||||
borderRadius: BorderRadius.circular(7),
|
||||
color: Colors.white,
|
||||
),
|
||||
child: Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: Texts(
|
||||
model.vaccinationItemList[index].dESCRIPTION)),
|
||||
Icon(projectViewModel.isArabic
|
||||
? Icons.arrow_forward_ios
|
||||
: Icons.arrow_back_ios)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue