device transfer

main_design2.0
nextwo 2 years ago
parent a85d8f4880
commit 9c43eab5db

@ -150,92 +150,11 @@ class AssetTransferProvider extends ChangeNotifier {
} }
Future<int> updateRequest({ Future<int> updateRequest({
@required String host, @required AssetTransfer assetTransfer,
@required User user,
@required bool isSender,
@required int requestId,
@required AssetTransfer oldModel,
@required AssetTransfer newModel,
}) async { }) async {
Map<String, dynamic> body = {
"id": oldModel.id,
// "assetId": oldModel.device.id ?? "",
// "senderSiteId": oldModel.sender.client.id,
// "destSiteId": oldModel.receiver.client.id,
// "destDepartmentId": oldModel.receiver.department.id,
};
if (isSender) {
body.addAll({
// "senderSiteId": newModel.client.id,
// "senderDepartmentId": newModel.department.id,
// "senderAssignedEmployeeId": newModel.userId,
// "senderMachineStatusId": newModel.status.id,
// "senderComment": newModel.comment,
// "senderWorkingHours": newModel.workingHours,
// "senderStartDate": newModel.timer?.startAt?.toIso8601String(),
// "senderEndDate": newModel.timer?.endAt?.toIso8601String(),
// "senderTravelingHours": newModel.travelingHours,
// "senderEngSignature": newModel.engSignature,
// if (newModel?.attachments?.isNotEmpty ?? false)
// "senderAttachments":
// newModel?.attachments?.map((file) => {"attachmentName": _isLocalUrl(file.path) ? ("${file.path.split("/").last}|${base64Encode(file.readAsBytesSync())}") : file.path})?.toList(),
// "destSiteId": oldModel.receiver.client?.id,
// "destDepartmentId": oldModel.receiver.department?.id,
// "destBuildingId": oldModel.device?.destBuildingId,
// "destFloorId": oldModel.device?.destFloorId,
// "destRoom": oldModel.device?.destRoom,
// "receiverAssignedEmployeeId": oldModel.receiver.userId,
// "receiverMachineStatusId": oldModel.receiver.status.id ?? "",
// "receiverComment": oldModel.receiver.comment,
// "receiverWorkingHours": oldModel.receiver.workingHours,
// "receiverStartDate": oldModel.receiver.timer?.startAt?.toIso8601String(),
// "receiverEndDate": oldModel.receiver.timer?.endAt?.toIso8601String(),
// "receiverTravelingHours": oldModel.receiver?.travelingHours,
// "receiverEngSignature": oldModel.receiver?.engSignature,
// if (oldModel.receiver?.attachments?.isNotEmpty ?? false)
// "receiverAttachments": oldModel.receiver?.attachments
// ?.map((file) => {"attachmentName": _isLocalUrl(file.path) ? ("${file.path.split("/").last}|${base64Encode(file.readAsBytesSync())}") : file.path})
// ?.toList(),
});
} else {
body.addAll({
// "senderSiteId": oldModel.sender.client.id,
// "senderDepartmentId": oldModel.sender.department.id,
// "senderAssignedEmployeeId": oldModel.sender.userId,
// "senderMachineStatusId": oldModel.sender.status.id,
// "senderComment": oldModel.sender.comment,
// "senderWorkingHours": oldModel.sender.workingHours,
// "senderStartDate": oldModel.sender.timer?.startAt?.toIso8601String(),
// "senderEndDate": oldModel.sender.timer?.endAt?.toIso8601String(),
// "senderTravelingHours": oldModel.sender?.travelingHours,
// "senderEngSignature": oldModel.sender?.engSignature,
// if (oldModel.sender?.attachments?.isNotEmpty ?? false)
// "senderAttachments":
// oldModel.sender?.attachments?.map((file) => {"attachmentName": _isLocalUrl(file.path) ? ("${file.path.split("/").last}|${base64Encode(file.readAsBytesSync())}") : file.path})?.toList(),
// "destSiteId": newModel.client?.id,
// "destDepartmentId": newModel.department?.id,
// "destBuildingId": oldModel.device?.destBuildingId,
// "destFloorId": oldModel.device?.destFloorId,
// "destRoom": oldModel.device?.destRoom,
// "receiverAssignedEmployeeId": newModel.userId,
// "receiverMachineStatusId": newModel.status?.id ?? "",
// "receiverComment": newModel.comment,
// "receiverWorkingHours": newModel.workingHours,
// "receiverStartDate": newModel.timer?.startAt?.toIso8601String(),
// "receiverEndDate": newModel.timer?.endAt?.toIso8601String(),
// "receiverTravelingHours": newModel.travelingHours,
// "receiverEngSignature": newModel.engSignature,
// if (newModel?.attachments?.isNotEmpty ?? false)
// "receiverAttachments":
// newModel?.attachments?.map((file) => {"attachmentName": _isLocalUrl(file.path) ? ("${file.path.split("/").last}|${base64Encode(file.readAsBytesSync())}") : file.path})?.toList(),
});
}
//body.addAll(newModel.toJson(isSender));
log(body?.toString());
Response response; Response response;
try { try {
response = await ApiManager.instance.put(URLs.updateDeviceTransfer, body: body); response = await ApiManager.instance.put(URLs.updateDeviceTransfer, body: assetTransfer.toJson());
print(response.body); print(response.body);
// print("${newModel.engSignature}.png"); // print("${newModel.engSignature}.png");

@ -425,6 +425,8 @@ class AssetTransfer {
return map; return map;
} }
fromDetails(AssetTransfer assetTransfer){ fromDetails(AssetTransfer assetTransfer){
id= assetTransfer.id; id= assetTransfer.id;

@ -121,11 +121,11 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
unit: _model.senderDepartmentName??"", unit: _model.senderDepartmentName??"",
comment: _model.senderComment??"", comment: _model.senderComment??"",
/// TBD /// TBD
statusLabel: StatusLabel( statusLabel: _model.senderMachineStatusName != null? StatusLabel(
label: _model.senderMachineStatusName??"", label: _model.senderMachineStatusName,
id: _model.senderMachineStatusId, id: _model.senderMachineStatusId,
textColor: AColors.getRequestStatusTextColor(_model.senderMachineStatusId), textColor: AColors.getRequestStatusTextColor(getIdstatus(_model.senderMachineStatusName)),
backgroundColor: AColors.getRequestStatusColor(_model.senderMachineStatusId)), backgroundColor: AColors.getRequestStatusColor(getIdstatus(_model.senderMachineStatusName))):null,
), ),
// receiver card // receiver card
_buildCard( _buildCard(
@ -135,11 +135,11 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
unit: _model.destDepartmentName??"", unit: _model.destDepartmentName??"",
comment: _model.receiverComment??"", comment: _model.receiverComment??"",
/// TBD /// TBD
statusLabel: StatusLabel( statusLabel: _model.receiverMachineStatusName != null ? StatusLabel(
label: _model.receiverMachineStatusName??"", label: _model.receiverMachineStatusName??"",
id: _model.receiverMachineStatusId, id: _model.receiverMachineStatusId,
textColor: AColors.getRequestStatusTextColor(_model.receiverMachineStatusId), textColor: AColors.getRequestStatusTextColor(getIdstatus(_model.receiverMachineStatusName)),
backgroundColor: AColors.getRequestStatusColor(_model.receiverMachineStatusId)), backgroundColor: AColors.getRequestStatusColor(getIdstatus(_model.receiverMachineStatusName))):null,
), ),
], ],
), ),
@ -240,4 +240,18 @@ class _DeviceTransferDetailsState extends State<DeviceTransferDetails> {
).paddingOnly(top: 14, start: 14, end: 14); ).paddingOnly(top: 14, start: 14, end: 14);
} }
int getIdstatus(String status){
switch(status){
case "Closed":
return 3 ;
break;
case "Open":
return 1 ;
break;
case "In Progress":
return 2;
break;
}
}
} }

@ -1,5 +1,8 @@
import 'dart:convert';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:test_sa/controllers/providers/api/asset_transfer_provider.dart'; import 'package:test_sa/controllers/providers/api/asset_transfer_provider.dart';
import 'package:test_sa/controllers/providers/api/user_provider.dart'; import 'package:test_sa/controllers/providers/api/user_provider.dart';
@ -57,7 +60,7 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
// return false; // return false;
// } // }
_validate = true; _validate = true;
if (!_formKey.currentState.validate()) { if (!(_formKey.currentState.validate())) {
setState(() {}); setState(() {});
return false; return false;
} }
@ -65,17 +68,17 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
_isLoading = true; _isLoading = true;
setState(() {}); setState(() {});
// int status = await _deviceTransferProvider.updateRequest( int status = await _deviceTransferProvider.updateRequest(
// user: _userProvider.user, host: _settingProvider.host, requestId: widget.model.id, isSender: widget.isSender, newModel: _formModel, oldModel: widget.model); assetTransfer: _formModel);
// _isLoading = false; _isLoading = false;
// setState(() {}); setState(() {});
// if (status >= 200 && status < 300) { if (status >= 200 && status < 300) {
// Fluttertoast.showToast( Fluttertoast.showToast(
// msg: context.translation.successfulRequestMessage, msg: context.translation.successfulRequestMessage,
// ); );
// _validate = false; _validate = false;
// Navigator.of(context).pop(); Navigator.of(context).pop();
// } }
} }
// @override // @override
@ -109,93 +112,99 @@ class _UpdateDeviceTransferState extends State<UpdateDeviceTransfer> {
isFailedLoading: false, isFailedLoading: false,
stateCode: 200, stateCode: 200,
onRefresh: () async {}, onRefresh: () async {},
child: Column( child: Form(
children: [ key: _formKey,
SingleChildScrollView( child: Column(
padding: EdgeInsets.all(12 * AppStyle.getScaleFactor(context)), children: [
child: Column( SingleChildScrollView(
crossAxisAlignment: CrossAxisAlignment.start, padding: EdgeInsets.all(12 * AppStyle.getScaleFactor(context)),
children: [ child: Column(
_buildCard(), crossAxisAlignment: CrossAxisAlignment.start,
8.height, children: [
AppTextFormField( _buildCard(),
initialValue: widget.isSender? _formModel.senderTravelingHours:_formModel.receiverTravelingHours, 8.height,
labelText: context.translation.travelingHours, AppTextFormField(
onSaved:(value){ initialValue: widget.isSender? _formModel.senderTravelingHours:_formModel.receiverTravelingHours,
widget.isSender? _formModel.senderTravelingHours labelText: context.translation.travelingHours,
: _formModel.receiverTravelingHours= value; onSaved:(value){
//_formModel?.workingHours = double.tryParse(value); widget.isSender? _formModel.senderTravelingHours
// _formModel.travelingHours = value; : _formModel.receiverTravelingHours= value;
}, //_formModel?.workingHours = double.tryParse(value);
textInputType: TextInputType.number, // _formModel.travelingHours = value;
validator: (value) => Validator.isNumeric(value) ? null : "allow numbers only",
),
8.height,
AppTextFormField(
labelText: context.translation.workingHours,
initialValue: widget.isSender?_formModel.senderWorkingHours:_formModel.receiverWorkingHours,
onSaved:(value){
widget.isSender?
_formModel?.senderWorkingHours = value:_formModel?.receiverWorkingHours = value;
// _formModel.timer = timer;
// _formModel.workingHours = (((timer?.durationInSecond ?? 0) / 60) / 60)?.toStringAsFixed(2) ?? "0";
},
textInputType: TextInputType.number,
validator: (value) => Validator.isNumeric(value) ? null : "allow numbers only",
),
8.height,
///TBD
Consumer<GasStatusProvider>(builder: (context, snapshot, _){
return SingleItemDropDownMenu<Lookup,GasStatusProvider >(
context: context,
title: context.translation.reportStatus,
initialValue: snapshot.items?.firstWhere((element) => element.name == (widget.isSender?_formModel.senderMachineStatusName:_formModel.receiverMachineStatusName), orElse: () => null),
onSelect: (value) {
if(widget.isSender) {
_formModel.senderMachineStatusName=value.name;
_formModel.senderMachineStatusId=value.value;
}else{
_formModel.receiverMachineStatusName=value.name;
_formModel.receiverMachineStatusId=value.value;
}
setState(() {});
}, },
); textInputType: TextInputType.number,
}), validator: (value) => Validator.isNumeric(value) ? null : "allow numbers only",
8.height, ),
AppTextFormField( 8.height,
initialValue: widget.isSender?_formModel.senderComment:_formModel.receiverComment, AppTextFormField(
labelText: context.translation.comments, labelText: context.translation.workingHours,
textInputType: TextInputType.multiline, initialValue: widget.isSender?_formModel.senderWorkingHours:_formModel.receiverWorkingHours,
alignLabelWithHint: true, onSaved:(value){
onSaved: (value){ widget.isSender?
widget.isSender? _formModel?.senderWorkingHours = value:_formModel?.receiverWorkingHours = value;
_formModel.senderComment = value:_formModel.receiverComment; // _formModel.timer = timer;
}, // _formModel.workingHours = (((timer?.durationInSecond ?? 0) / 60) / 60)?.toStringAsFixed(2) ?? "0";
), },
8.height, textInputType: TextInputType.number,
ESignature( validator: (value) => Validator.isNumeric(value) ? null : "allow numbers only",
title: "Signature", ),
//oldSignature: widget.isSender ? widget.model.senderEngSignature : widget.model.receiverEngSignature, 8.height,
newSignature: _signature, ///TBD
onSaved: (signature) { Consumer<GasStatusProvider>(builder: (context, snapshot, _){
_signature = signature; return SingleItemDropDownMenu<Lookup,GasStatusProvider >(
if (signature == null || signature.isEmpty) return; context: context,
// _formModel.engSignature = "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}"; title: context.translation.reportStatus,
// base64Encode(signature); initialValue: snapshot.items?.firstWhere((element) => element.name == (widget.isSender?_formModel.senderMachineStatusName:_formModel.receiverMachineStatusName), orElse: () => null),
}, onSelect: (value) {
), if(widget.isSender) {
], _formModel.senderMachineStatusName=value.name;
), _formModel.senderMachineStatusId=value.id;
).expanded, print("${value.id}");
Padding( }else{
padding: const EdgeInsets.all(16.0), _formModel.receiverMachineStatusName=value.name;
child: AppFilledButton( _formModel.receiverMachineStatusId=value.id;
label: context.translation.update, }
onPressed: _update, setState(() {});
},
);
}),
8.height,
AppTextFormField(
initialValue: widget.isSender?_formModel.senderComment:_formModel.receiverComment,
labelText: context.translation.comments,
textInputType: TextInputType.multiline,
alignLabelWithHint: true,
onSaved: (value){
widget.isSender?
_formModel.senderComment = value:_formModel.receiverComment=value;
},
),
8.height,
ESignature(
title: "Signature",
oldSignature: widget.isSender ? widget.model.senderEngSignature : widget.model.receiverEngSignature,
newSignature: _signature,
onSaved: (signature) {
_signature = signature;
if (signature == null || signature.isEmpty) return;
widget.isSender? _formModel.senderEngSignature = "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}":
_formModel.receiverEngSignature = "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}";
base64Encode(signature);
},
),
],
),
).expanded,
Padding(
padding: const EdgeInsets.all(16.0),
child: AppFilledButton(
label: context.translation.update,
onPressed: _update,
),
), ),
), ],
], ),
), ),
), ),
), ),

Loading…
Cancel
Save