Device Status in PM Entry

main_design2.0
zaid_daoud 2 years ago
parent 300bc0a1a6
commit a26684de11

@ -75,8 +75,8 @@ class Pentry {
Map<String, dynamic> toMap(int visitId) {
Map<String, dynamic> map = {};
map["visitStatusId"] = ppmVisitStatus?.id.toString();
if (status != null) map["deviceStatusId"] = status?.id.toString();
map["visitStatusId"] = ppmVisitStatus?.id?.toString();
if (status != null) map["deviceStatusId"] = status?.id?.toString();
if (travelingHours != null) map["travelingHours"] = travelingHours;
//if(imageFile != null) map["file_attachement"] = base64Encode(imageFile.readAsBytesSync());
map["actualDate"] = actualVisitDate.toIso8601String();
@ -87,7 +87,7 @@ class Pentry {
map["workingHours"] = (timer.durationInSecond / 60 / 60).toStringAsFixed(5);
}
if (files?.isNotEmpty ?? false) {
map["vAttachments"] = files.map((file) => {"attachmentName": _isLocalUrl(file.path) ? (file.path.split("/").last + "|" + base64Encode(file.readAsBytesSync())): file.path}).toList();
map["vAttachments"] = files.map((file) => {"attachmentName": _isLocalUrl(file.path) ? (file.path.split("/").last + "|" + base64Encode(file.readAsBytesSync())) : file.path}).toList();
}
map["travelingHours"] = travelingHours;
// if(contacts?.isNotEmpty == true) {
@ -104,10 +104,12 @@ class Pentry {
map["engSignature"] = signatureEngineer; //"${DateTime.now().toIso8601String()}.png|$signatureEngineer";
return map;
}
bool _isLocalUrl(String url) {
if (url?.isEmpty != false) return false;
return url.startsWith("/") || url.startsWith("file://") || url.substring(1).startsWith(':\\');
}
factory Pentry.fromMap(Map<String, dynamic> map) {
// List<Contact> contacts = [];
// if(map['contacts'] != null){
@ -136,7 +138,7 @@ class Pentry {
calibrationTools = (map['vCalibrationTools'] as List<dynamic>).map((e) => CalibrationTool.fromMap(e as Map<String, dynamic>)).toList();
}
return Pentry(
status: Lookup(id: map["taskStatusId"], name: map["taskStatusName"]),
status: Lookup(id: map["deviceStatusId"], name: map["deviceStatusName"]),
ppmVisitStatus: Lookup(id: map["visitStatusId"], name: map["visitStatusName"]),
actualVisitDate: DateTime.tryParse(map["actualDate"] ?? ""),
expectedVisitDate: DateTime.tryParse(map["expectedDate"] ?? ""),

@ -57,7 +57,9 @@ class _PentryInfoFormState extends State<PentryInfoForm> {
PentryVisitsStatusMenu(
initialValue: widget.model.ppmVisitStatus,
onSelect: (status) {
widget.model.ppmVisitStatus = status;
if (status != null) {
widget.model.ppmVisitStatus = status;
}
},
),
const SizedBox(

Loading…
Cancel
Save