Add Delivered Quantity Field

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

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

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

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

@ -48,6 +48,7 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
GasRefillProvider _gasRefillProvider;
GasRefillDetails _currentDetails = GasRefillDetails();
final TextEditingController _requestedQuantityController = TextEditingController();
final TextEditingController _deliveredQuantityController = TextEditingController();
GasRefillModel _formModel = GasRefillModel(details: []);
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
final GlobalKey _DetailsKey = GlobalKey<FormState>();
@ -125,6 +126,7 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
_validate = false;
Scrollable.ensureVisible(_DetailsKey.currentContext);
_requestedQuantityController.clear();
_deliveredQuantityController.clear();
_currentDetails = GasRefillDetails();
setState(() {});
return true;
@ -133,6 +135,7 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
@override
void dispose() {
_requestedQuantityController.dispose();
_deliveredQuantityController.dispose();
super.dispose();
}
@ -402,7 +405,7 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
const SizedBox(
height: 8,
),
ASubTitle(_subtitle.quantity),
ASubTitle(_subtitle.requestedQuantity),
if (_validate && _currentDetails?.requestedQuantity == null)
ASubTitle(
_subtitle.requiredWord,
@ -422,6 +425,26 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
_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),
AButton(
text: _subtitle.add,

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

Loading…
Cancel
Save