|
|
|
|
@ -19,6 +19,8 @@ import 'package:test_sa/views/widgets/status/gas_refill/gas_status.dart';
|
|
|
|
|
import 'package:test_sa/views/widgets/titles/app_sub_title.dart';
|
|
|
|
|
|
|
|
|
|
import '../../../../controllers/localization/localization.dart';
|
|
|
|
|
import '../../../controllers/validator/validator.dart';
|
|
|
|
|
import '../../widgets/date_and_time/time_picker.dart';
|
|
|
|
|
|
|
|
|
|
class UpdateDeviceTransfer extends StatefulWidget {
|
|
|
|
|
final DeviceTransfer model;
|
|
|
|
|
@ -66,10 +68,10 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
void setState(VoidCallback fn) {
|
|
|
|
|
if (!mounted) super.setState(() {});
|
|
|
|
|
}
|
|
|
|
|
// @override
|
|
|
|
|
// void setState(VoidCallback fn) {
|
|
|
|
|
// if (!mounted) super.setState(() {});
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
void initState() {
|
|
|
|
|
@ -147,21 +149,82 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
const SizedBox(
|
|
|
|
|
height: 8,
|
|
|
|
|
height: 16,
|
|
|
|
|
),
|
|
|
|
|
ASubTitle(_subtitle.workingHours),
|
|
|
|
|
const SizedBox(
|
|
|
|
|
height: 4,
|
|
|
|
|
Row(
|
|
|
|
|
children: [
|
|
|
|
|
Expanded(
|
|
|
|
|
child: Column(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.stretch,
|
|
|
|
|
children: [
|
|
|
|
|
const ASubTitle("Start of Work"),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 8 * AppStyle.getScaleFactor(context),
|
|
|
|
|
),
|
|
|
|
|
ADateTimePicker(
|
|
|
|
|
date: _deviceTransferProvider.startDate,
|
|
|
|
|
from: DateTime.now().subtract(const Duration(days: 365)),
|
|
|
|
|
to: DateTime.now().add(const Duration(days: 365)),
|
|
|
|
|
onDateTimePicker: (date) {
|
|
|
|
|
_deviceTransferProvider.startDate = date;
|
|
|
|
|
_formModel.workingHours=((_deviceTransferProvider.endDate?.difference(_deviceTransferProvider.startDate)?.inMinutes ?? 0) / 60)?.toStringAsFixed(2)?.toString() ?? 0;
|
|
|
|
|
setState(() {});
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
const SizedBox(width: 8),
|
|
|
|
|
Expanded(
|
|
|
|
|
child: Column(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.stretch,
|
|
|
|
|
children: [
|
|
|
|
|
const ASubTitle("End of Work"),
|
|
|
|
|
SizedBox(
|
|
|
|
|
height: 8 * AppStyle.getScaleFactor(context),
|
|
|
|
|
),
|
|
|
|
|
ADateTimePicker(
|
|
|
|
|
date: _deviceTransferProvider.endDate,
|
|
|
|
|
from: DateTime.now().subtract(const Duration(days: 365)),
|
|
|
|
|
to: DateTime.now().add(const Duration(days: 365)),
|
|
|
|
|
onDateTimePicker: (date) {
|
|
|
|
|
_deviceTransferProvider.endDate = date;
|
|
|
|
|
_formModel.workingHours=((_deviceTransferProvider.endDate?.difference(_deviceTransferProvider.startDate)?.inMinutes ?? 0) / 60)?.toStringAsFixed(2)?.toString() ?? 0;
|
|
|
|
|
setState(() {});
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
ATextFormField(
|
|
|
|
|
initialValue: _formModel?.workingHours,
|
|
|
|
|
initialValue: null,
|
|
|
|
|
textAlign: TextAlign.center,
|
|
|
|
|
hintText: _deviceTransferProvider.startDate == null
|
|
|
|
|
? "0"
|
|
|
|
|
: ((_deviceTransferProvider.endDate?.difference(_deviceTransferProvider.startDate)?.inMinutes ?? 0) / 60)?.toStringAsFixed(2)?.toString() ?? "0",
|
|
|
|
|
enable: false,
|
|
|
|
|
style: Theme.of(context).textTheme.subtitle1,
|
|
|
|
|
//validator: (value) => Validator.isNumeric(value) ? null : _subtitle.requiredWord,
|
|
|
|
|
textInputType: TextInputType.number,
|
|
|
|
|
onSaved: (value) {
|
|
|
|
|
_formModel.workingHours = value;
|
|
|
|
|
// _serviceReport.workHours = value;
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
// ASubTitle(_subtitle.workingHours),
|
|
|
|
|
// const SizedBox(
|
|
|
|
|
// height: 4,
|
|
|
|
|
// ),
|
|
|
|
|
// ATextFormField(
|
|
|
|
|
// initialValue: _formModel?.workingHours,
|
|
|
|
|
// textAlign: TextAlign.center,
|
|
|
|
|
// style: Theme.of(context).textTheme.subtitle1,
|
|
|
|
|
// textInputType: TextInputType.number,
|
|
|
|
|
// onSaved: (value) {
|
|
|
|
|
// _formModel.workingHours = value;
|
|
|
|
|
// },
|
|
|
|
|
// ),
|
|
|
|
|
// const SizedBox(height: 8,),
|
|
|
|
|
// const ASubTitle("Sender Department"),
|
|
|
|
|
// if(_validate && _formModel.senderDepartment == null)
|
|
|
|
|
|