Add Delivered Quantity Field

pull/2/head
zaid_daoud 3 years ago
parent 7828e52c64
commit c24fe473ff

@ -200,5 +200,7 @@
"repairLocation" : "موقع الإصلاح", "repairLocation" : "موقع الإصلاح",
"travelingExpense" : "مصاريف التنقل", "travelingExpense" : "مصاريف التنقل",
"startDate" : "وقت البدء", "startDate" : "وقت البدء",
"endDate" : "وقت الانتهاء" "endDate" : "وقت الانتهاء",
"requestedQuantity" : "الكمية المطلوبة",
"deliveredQuantity" : "الكمية المسلّمة"
} }

@ -200,5 +200,7 @@
"repairLocation" : "Repair Location", "repairLocation" : "Repair Location",
"travelingExpense": "Traveling Expense", "travelingExpense": "Traveling Expense",
"startDate" : "Start Date", "startDate" : "Start Date",
"endDate" : "End Date" "endDate" : "End Date",
"requestedQuantity" : "Requested Quantity",
"deliveredQuantity" : "Delivered Quantity"
} }

@ -228,6 +228,8 @@ class Subtitle {
String travelingExpense; String travelingExpense;
String startDate; String startDate;
String endDate; String endDate;
String requestedQuantity;
String deliveredQuantity;
void setIssues(List<String> issues) { void setIssues(List<String> issues) {
issues.clear(); issues.clear();
@ -431,6 +433,8 @@ class Subtitle {
@required this.travelingExpense, @required this.travelingExpense,
@required this.startDate, @required this.startDate,
@required this.endDate, @required this.endDate,
@required this.requestedQuantity,
@required this.deliveredQuantity,
}); });
factory Subtitle.fromJson(Map<String, dynamic> parsedJson) { factory Subtitle.fromJson(Map<String, dynamic> parsedJson) {
@ -627,6 +631,8 @@ class Subtitle {
travelingExpense: parsedJson["travelingExpense"], travelingExpense: parsedJson["travelingExpense"],
startDate: parsedJson["startDate"], startDate: parsedJson["startDate"],
endDate: parsedJson["endDate"], endDate: parsedJson["endDate"],
requestedQuantity: parsedJson["requestedQuantity"],
deliveredQuantity: parsedJson["deliveredQuantity"],
); );
} }
} }

@ -48,6 +48,7 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
GasRefillProvider _gasRefillProvider; GasRefillProvider _gasRefillProvider;
GasRefillDetails _currentDetails = GasRefillDetails(); GasRefillDetails _currentDetails = GasRefillDetails();
final TextEditingController _requestedQuantityController = TextEditingController(); final TextEditingController _requestedQuantityController = TextEditingController();
final TextEditingController _deliveredQuantityController = TextEditingController();
GasRefillModel _formModel = GasRefillModel(details: []); GasRefillModel _formModel = GasRefillModel(details: []);
final GlobalKey<FormState> _formKey = GlobalKey<FormState>(); final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
final GlobalKey _DetailsKey = GlobalKey<FormState>(); final GlobalKey _DetailsKey = GlobalKey<FormState>();
@ -125,6 +126,7 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
_validate = false; _validate = false;
Scrollable.ensureVisible(_DetailsKey.currentContext); Scrollable.ensureVisible(_DetailsKey.currentContext);
_requestedQuantityController.clear(); _requestedQuantityController.clear();
_deliveredQuantityController.clear();
_currentDetails = GasRefillDetails(); _currentDetails = GasRefillDetails();
setState(() {}); setState(() {});
return true; return true;
@ -133,6 +135,7 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
@override @override
void dispose() { void dispose() {
_requestedQuantityController.dispose(); _requestedQuantityController.dispose();
_deliveredQuantityController.dispose();
super.dispose(); super.dispose();
} }
@ -402,7 +405,7 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
const SizedBox( const SizedBox(
height: 8, height: 8,
), ),
ASubTitle(_subtitle.quantity), ASubTitle(_subtitle.requestedQuantity),
if (_validate && _currentDetails?.requestedQuantity == null) if (_validate && _currentDetails?.requestedQuantity == null)
ASubTitle( ASubTitle(
_subtitle.requiredWord, _subtitle.requiredWord,
@ -422,6 +425,26 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
_currentDetails?.requestedQuantity = double.tryParse(value); _currentDetails?.requestedQuantity = double.tryParse(value);
}, },
), ),
if (widget.gasRefillModel != null) const SizedBox(height: 16),
if (widget.gasRefillModel != null) ASubTitle(_subtitle.deliveredQuantity),
if (widget.gasRefillModel != null && _validate && _currentDetails?.deliveredQuantity == null)
ASubTitle(
_subtitle.requiredWord,
color: Colors.red,
),
if (widget.gasRefillModel != null) const SizedBox(height: 4),
if (widget.gasRefillModel != null)
ATextFormField(
initialValue: (_currentDetails?.deliveredQuantity ?? "").toString(),
textAlign: TextAlign.center,
controller: _deliveredQuantityController,
style: Theme.of(context).textTheme.subtitle1,
validator: (value) => Validator.isNumeric(value) ? null : "allow numbers only",
textInputType: TextInputType.number,
onChange: (value) {
_currentDetails?.deliveredQuantity = double.tryParse(value);
},
),
const SizedBox(height: 16), const SizedBox(height: 16),
AButton( AButton(
text: _subtitle.add, text: _subtitle.add,

@ -27,7 +27,7 @@ class GasRefillCreateDetailsItem extends StatelessWidget {
if (model.deliveredQuantity != null) if (model.deliveredQuantity != null)
Row( Row(
children: [ children: [
const Text("Delivered Quantity"), const Text("Delivered Quantity: "),
Text(model.deliveredQuantity.toStringAsFixed(0)), Text(model.deliveredQuantity.toStringAsFixed(0)),
], ],
), ),

Loading…
Cancel
Save