From cfa082a9420b1b723d1a51b31f8f36d67191309a Mon Sep 17 00:00:00 2001 From: Sikander Saleem Date: Wed, 30 Sep 2026 16:12:50 +0300 Subject: [PATCH] asset tagging added. --- lib/models/device/asset_by_id_model.dart | 42 ++++++++++++++++++- .../widgets/equipment/asset_detail_page.dart | 10 ++--- 2 files changed, 45 insertions(+), 7 deletions(-) diff --git a/lib/models/device/asset_by_id_model.dart b/lib/models/device/asset_by_id_model.dart index 960b1cc3..fc2a3006 100644 --- a/lib/models/device/asset_by_id_model.dart +++ b/lib/models/device/asset_by_id_model.dart @@ -65,6 +65,7 @@ class AssetByIdModel { String? nextPMDate; String? lastPMDate; int? penguinAssetTagId; + TagDetails? tagDetails; bool? hasTrainingImageData; TrainingImageData? trainingImageData; @@ -131,12 +132,11 @@ class AssetByIdModel { this.nextPMDate, this.lastPMDate, this.penguinAssetTagId, + this.tagDetails, this.trainingImageData, this.hasTrainingImageData}); AssetByIdModel.fromJson(Map json) { - print("assetModel!.fromJson:${json['hasTrainingImageData']}"); - if (json['multiAssets'] != null) { multiAssets = []; json['multiAssets'].forEach((v) { @@ -215,6 +215,7 @@ class AssetByIdModel { lastPMDate = json['lastPMDate']; penguinAssetTagId = json['penguinAssetTagId']; hasTrainingImageData = json['hasTrainingImageData']; + tagDetails = json['tagDetails'] != null ? TagDetails.fromJson(json['tagDetails']) : null; trainingImageData = json['trainingImageData'] != null ? TrainingImageData.fromJson(json['trainingImageData']) : null; } @@ -314,6 +315,7 @@ class AssetByIdModel { data['nextPMDate'] = nextPMDate; data['lastPMDate'] = lastPMDate; data['hasTrainingImageData'] = hasTrainingImageData; + data['tagDetails'] = tagDetails?.toJson(); data['trainingImageData'] = trainingImageData?.toJson(); return data; } @@ -837,3 +839,39 @@ class TrainingImageData { return data; } } +class TagDetails { + int? id; + String? tagId; + String? label; + String? macAddress; + String? type; + String? status; + + TagDetails( + {this.id, + this.tagId, + this.label, + this.macAddress, + this.type, + this.status}); + + TagDetails.fromJson(Map json) { + id = json['id']; + tagId = json['tagId']; + label = json['label']; + macAddress = json['macAddress']; + type = json['type']; + status = json['status']; + } + + Map toJson() { + final Map data = new Map(); + data['id'] = this.id; + data['tagId'] = this.tagId; + data['label'] = this.label; + data['macAddress'] = this.macAddress; + data['type'] = this.type; + data['status'] = this.status; + return data; + } +} diff --git a/lib/views/widgets/equipment/asset_detail_page.dart b/lib/views/widgets/equipment/asset_detail_page.dart index 87b3c113..3994275b 100644 --- a/lib/views/widgets/equipment/asset_detail_page.dart +++ b/lib/views/widgets/equipment/asset_detail_page.dart @@ -367,11 +367,11 @@ class _AssetDetailPageState extends State with SingleTickerProv ] else ...[ const Divider().defaultStyle(context), InfoHeaderWidget("Tag Information"), - InfoTextWidget(label: "Label", value: assetModel?.installationDate?.toAssetDetailsFormat, showEmptyValue: true), - InfoTextWidget(label: "Tag ID", value: assetModel?.installationDate?.toAssetDetailsFormat, showEmptyValue: true), - InfoTextWidget(label: "MAC Address", value: assetModel?.nextPMDate?.toAssetDetailsFormat, showEmptyValue: true), - InfoTextWidget(label: "Type", value: assetModel?.lastPMDate?.toAssetDetailsFormat, showEmptyValue: true), - InfoTextWidget(label: "Status", value: assetModel?.lastPMDate?.toAssetDetailsFormat, showEmptyValue: true), + InfoTextWidget(label: "Label", value: assetModel?.tagDetails?.label, showEmptyValue: true), + InfoTextWidget(label: "Tag ID", value: assetModel?.tagDetails?.tagId, showEmptyValue: true), + InfoTextWidget(label: "MAC Address", value: assetModel?.tagDetails?.macAddress, showEmptyValue: true), + // InfoTextWidget(label: "Type", value: assetModel?.tagDetails?.type, showEmptyValue: true), + // InfoTextWidget(label: "Status", value: assetModel?.tagDetails?.status, showEmptyValue: true), ], ], ),