Rename asset to be device as it was before

main_design2.0
zaid_daoud 2 years ago
parent c7d6b68fd2
commit 1e1ac215ea

@ -8,7 +8,7 @@
"passwordLengthMessage" : "يجب أن تتكون كلمة السر من 6 خانات على الأقل",
"overview" : "نظرة عامة",
"myRequests" : "طلباتي",
"myAssets" : "ممتلكاتي",
"myAssets" : "أجهزتي",
"contactUs": "اتصل بنا",
"welcome" : "مرحبا،",
"openWhatsapp" : "الإنتقال الى الواتس اب",
@ -38,5 +38,9 @@
"floor" : "الطابق",
"youHaveToAddRequests" : "يجب إضافة طلبات",
"createdSuccessfully" : "إكتمل الطلب بنجاح",
"failedToCompleteRequest" : "فشل إتمام الطلب"
"failedToCompleteRequest" : "فشل إتمام الطلب",
"assetNo" : "رقم الجهاز",
"manufacture" : "صناعة",
"model" : "الطراز",
"serialNumber" : "الرقم التسلسلي"
}

@ -38,5 +38,9 @@
"floor" : "Floor",
"youHaveToAddRequests" : "You have to add requests",
"createdSuccessfully" : "Created successfully",
"failedToCompleteRequest" : "Failed to complete request"
"failedToCompleteRequest" : "Failed to complete request",
"assetNo" : "Asset No.",
"manufacture" : "Manufacture",
"model" : "Model",
"serialNumber" : "Serial Number"
}

@ -5,7 +5,7 @@ import 'package:flutter/cupertino.dart';
import 'package:http/http.dart';
import 'package:test_sa/controllers/api_routes/api_manager.dart';
import 'package:test_sa/controllers/api_routes/urls.dart';
import 'package:test_sa/models/asset/asset_transfer.dart';
import 'package:test_sa/models/device/asset_transfer.dart';
import 'package:test_sa/models/user.dart';
import '../../../models/hospital.dart';

@ -7,7 +7,7 @@ import 'package:test_sa/controllers/api_routes/urls.dart';
import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/models/user.dart';
import '../../../models/asset/asset.dart';
import '../../../models/device/device.dart';
class AssetProvider extends ChangeNotifier {
//reset provider data
@ -26,9 +26,9 @@ class AssetProvider extends ChangeNotifier {
int get stateCode => _stateCode;
List<Asset> _devices = [];
List<Device> _devices = [];
List<Asset> get devices => _devices;
List<Device> get devices => _devices;
// when categories in-process _loading = true
// done _loading = true
@ -77,7 +77,7 @@ class AssetProvider extends ChangeNotifier {
if (response.statusCode >= 200 && response.statusCode < 300) {
// client's request was successfully received
List equipmentListJson = json.decode(response.body)["data"];
var dList = equipmentListJson.map<Asset>((asset) => Asset.fromJson(asset)).toList();
var dList = equipmentListJson.map<Device>((asset) => Device.fromJson(asset)).toList();
try {
if (isQr) {
dList = dList.where((element) => number?.toLowerCase() == element?.assetNumber?.toLowerCase())?.toList() ?? [];
@ -100,7 +100,7 @@ class AssetProvider extends ChangeNotifier {
/// return state code if request complete may be 200, 404 or 403
/// for more details check http state manager
/// lib\controllers\http_status_manger\http_status_manger.dart
Future<List<Asset>> getDevicesList({
Future<List<Device>> getDevicesList({
@required String host,
@required User user,
@required int hospitalId,
@ -122,12 +122,12 @@ class AssetProvider extends ChangeNotifier {
// "${number?.isEmpty == false ? "&assetNo=$number" : ""}"
// ),
// );
List<Asset> page = [];
List<Device> page = [];
if (response.statusCode >= 200 && response.statusCode < 300) {
// client's request was successfully received
List equipmentListJson = json.decode(response.body)["data"];
page = equipmentListJson.map((asset) => Asset.fromJson(asset)).toList();
_devices.addAll(equipmentListJson.map<Asset>((asset) => Asset.fromJson(asset)).toList());
page = equipmentListJson.map((asset) => Device.fromJson(asset)).toList();
_devices.addAll(equipmentListJson.map<Device>((asset) => Device.fromJson(asset)).toList());
notifyListeners();
}
return page;

@ -1,8 +1,8 @@
import 'asset.dart';
import 'asset_transfer.dart';
import 'device.dart';
class AssetTransferSearch extends AssetTransfer {
Asset asset;
Device asset;
int pageNumber = 10, pageSize;
bool mostRecent;

@ -1,5 +1,5 @@
import 'package:test_sa/models/asset/supplier.dart';
import 'package:test_sa/models/asset/technical_guidance_book.dart';
import 'package:test_sa/models/device/supplier.dart';
import 'package:test_sa/models/device/technical_guidance_book.dart';
import 'package:test_sa/models/lookup.dart';
import '../new_models/building.dart';
@ -8,8 +8,8 @@ import '../new_models/floor.dart';
import '../new_models/site.dart';
import 'model_definition.dart';
class Asset {
Asset({
class Device {
Device({
this.id,
this.assetSerialNo,
this.systemID,
@ -60,7 +60,7 @@ class Asset {
this.tagCode,
});
Asset.fromJson(dynamic json) {
Device.fromJson(dynamic json) {
id = json['id'];
assetSerialNo = json['assetSerialNo'];
systemID = json['systemID'];
@ -163,7 +163,7 @@ class Asset {
List<TechnicalGuidanceBook> technicalGuidanceBooks;
String comment;
String tagCode;
Asset copyWith({
Device copyWith({
num id,
String assetSerialNo,
String systemID,
@ -213,7 +213,7 @@ class Asset {
String comment,
String tagCode,
}) =>
Asset(
Device(
id: id ?? this.id,
assetSerialNo: assetSerialNo ?? this.assetSerialNo,
systemID: systemID ?? this.systemID,

@ -1,9 +1,9 @@
import '../hospital.dart';
import 'asset.dart';
import 'device.dart';
@Deprecated("Use asset_transfer_search.dart instead of this one")
class DeviceTransferSearch {
Asset device;
Device device;
String title, room;
bool mostRecent;
Hospital hospital;

@ -1,4 +1,4 @@
import 'package:test_sa/models/asset/supplier.dart';
import 'package:test_sa/models/device/supplier.dart';
class ModelDefinition {
ModelDefinition({

@ -39,4 +39,9 @@ enum TranslationKeys {
createdSuccessfully,
failedToCompleteRequest,
youHaveToAddRequests,
assetNo,
manufacture,
model,
serialNumber,
device,
}

@ -2,7 +2,7 @@ import 'dart:typed_data';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:test_sa/controllers/api_routes/urls.dart';
import 'package:test_sa/models/asset/asset.dart';
import 'package:test_sa/models/device/device.dart';
import 'package:test_sa/models/engineer.dart';
import 'package:test_sa/models/fault_description.dart';
import 'package:test_sa/models/lookup.dart';
@ -35,7 +35,7 @@ class ServiceReport {
String invoiceCode;
List<Part> parts;
List<String> files;
Asset device;
Device device;
String quantity;
String jobSheetNumber;
TimerModel timer;
@ -235,7 +235,7 @@ class ServiceReport {
durationInSecond: ((parsedJson["workingHours"] ?? 0) * 60 * 60).toInt(),
),
//workPreformed: parsedJson["work_performed"],
device: Asset.fromJson(parsedJson["callRequest"]["asset"]),
device: Device.fromJson(parsedJson["callRequest"]["asset"]),
signatureNurse: URLs.getFileUrl(parsedJson["nurseSignature"]),
signatureEngineer: URLs.getFileUrl(parsedJson["engSignature"]),
comment: parsedJson['comment'],

@ -1,5 +1,5 @@
import 'package:test_sa/controllers/api_routes/urls.dart';
import 'package:test_sa/models/asset/asset.dart';
import 'package:test_sa/models/device/device.dart';
import 'package:test_sa/models/fault_description.dart';
import 'package:test_sa/models/lookup.dart';
@ -42,7 +42,7 @@ class ServiceRequest {
Lookup requestedThrough;
Lookup firstAction;
Lookup loanAvailability;
Asset device;
Device device;
ServiceRequest({
this.id,
@ -128,7 +128,7 @@ class ServiceRequest {
visitDate: DateTime.tryParse(parsedJson["visitDate"] ?? "").toString().split(" ").first,
nextVisitDate: DateTime.tryParse(parsedJson["nextVisitDate"] ?? ""),
//workPerformed: parsedJson["workOrder"] != null ? parsedJson["workOrder"]["workPerformed"] : null,
device: Asset.fromJson(parsedJson["asset"]),
device: Device.fromJson(parsedJson["asset"]),
reviewComment: parsedJson["reviewComment"],
type: Lookup.fromJson(parsedJson['typeofRequest']),
defectType: Lookup.fromJson(parsedJson['defectType']),

@ -3,7 +3,7 @@ import 'package:provider/provider.dart';
import 'package:test_sa/controllers/localization/localization.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/models/asset/asset_transfer.dart';
import 'package:test_sa/models/device/asset_transfer.dart';
import 'package:test_sa/models/subtitle.dart';
import 'package:test_sa/views/app_style/colors.dart';
import 'package:test_sa/views/app_style/sizing.dart';

@ -4,7 +4,7 @@ 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/settings/setting_provider.dart';
import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/models/asset/asset_transfer.dart';
import 'package:test_sa/models/device/asset_transfer.dart';
import 'package:test_sa/models/subtitle.dart';
import 'package:test_sa/views/app_style/sizing.dart';
import 'package:test_sa/views/widgets/buttons/app_button.dart';

@ -4,7 +4,7 @@ import 'package:provider/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/settings/setting_provider.dart';
import 'package:test_sa/models/asset/asset_transfer.dart';
import 'package:test_sa/models/device/asset_transfer.dart';
import 'package:test_sa/models/subtitle.dart';
import 'package:test_sa/views/app_style/sizing.dart';
import 'package:test_sa/views/widgets/buttons/app_button.dart';

@ -32,7 +32,7 @@ import 'package:test_sa/views/widgets/titles/app_sub_title.dart';
import '../../../../controllers/providers/api/status_drop_down/service_reqest/service_request_through_provider.dart';
import '../../../../controllers/providers/api/status_drop_down/service_reqest/service_request_type_provider.dart';
import '../../../../models/asset/asset.dart';
import '../../../../models/device/device.dart';
import '../../../../models/enums/translation_keys.dart';
import '../../../../new_views/common_widgets/default_app_bar.dart';
import '../../../widgets/status/service_request/service_request_first_action.dart';
@ -57,7 +57,7 @@ class CreateRequestPageState extends State<CreateRequestPage> {
final List<File> _deviceImages = [];
bool _isLoading = false;
bool _showDatePicker = false;
Asset _device;
Device _asset;
Subtitle _subtitle;
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
@ -72,7 +72,7 @@ class CreateRequestPageState extends State<CreateRequestPage> {
_commentController = TextEditingController();
if (widget.serviceRequest != null) {
_serviceRequest = widget.serviceRequest;
_device = _serviceRequest.device;
_asset = _serviceRequest.device;
_deviceImages.addAll(_serviceRequest.devicePhotos.map((e) => File(e)).toList());
_showDatePicker = _serviceRequest.firstAction != null && _serviceRequest.firstAction.name == "Need a visit";
if (_showDatePicker && _serviceRequest.visitDate != null) {
@ -143,9 +143,9 @@ class CreateRequestPageState extends State<CreateRequestPage> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
PickAsset(
asset: _device,
onPickAsset: (device) {
_device = device;
device: _asset,
onPickAsset: (asset) {
_asset = asset;
setState(() {});
},
),
@ -315,7 +315,7 @@ class CreateRequestPageState extends State<CreateRequestPage> {
AppFilledButton(
onPressed: () async {
if (!_formKey.currentState.validate()) return;
if (_device?.id == null) {
if (_asset?.id == null) {
Fluttertoast.showToast(msg: _subtitle.pickDevice);
return;
}
@ -328,7 +328,7 @@ class CreateRequestPageState extends State<CreateRequestPage> {
return;
}
_formKey.currentState.save();
_serviceRequest.deviceId = _device?.id;
_serviceRequest.deviceId = _asset?.id;
if (widget.serviceRequest == null) {
_serviceRequest.type = Provider.of<ServiceRequestTypeProvider>(context, listen: false).getDefaultItem();
}

@ -7,7 +7,7 @@ import 'package:test_sa/views/widgets/requests/info_row.dart';
import 'package:test_sa/views/widgets/requests/request_status.dart';
import '../../../controllers/providers/api/user_provider.dart';
import '../../../models/asset/device_transfer_info.dart';
import '../../../models/device/device_transfer_info.dart';
import '../images/multi_image_picker.dart';
class DeviceTransferInfoSection extends StatelessWidget {

@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:test_sa/controllers/localization/localization.dart';
import 'package:test_sa/controllers/providers/api/user_provider.dart';
import 'package:test_sa/models/asset/asset_transfer.dart';
import 'package:test_sa/models/device/asset_transfer.dart';
import 'package:test_sa/models/subtitle.dart';
import 'package:test_sa/models/user.dart';
import 'package:test_sa/views/app_style/sizing.dart';

@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import 'package:test_sa/controllers/localization/localization.dart';
import 'package:test_sa/models/asset/asset_transfer.dart';
import 'package:test_sa/models/device/asset_transfer.dart';
import 'package:test_sa/models/subtitle.dart';
import 'package:test_sa/views/pages/device_transfer/device_transfer_details.dart';
import 'package:test_sa/views/widgets/device_trancfer/device_transfer_item.dart';

@ -8,10 +8,10 @@ import 'package:test_sa/views/app_style/colors.dart';
import 'package:test_sa/views/app_style/sizing.dart';
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
import '../../../models/asset/asset.dart';
import '../../../models/device/device.dart';
class AutoCompleteDeviceField extends StatefulWidget {
final Asset initialValue;
final Device initialValue;
final int hospitalId;
final Function(int) onPick;
@ -60,7 +60,7 @@ class _AutoCompleteDeviceFieldState extends State<AutoCompleteDeviceField> {
border: Border.all(color: AColors.black),
borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
boxShadow: [AppStyle.boxShadow]),
child: TypeAheadField<Asset>(
child: TypeAheadField<Device>(
textFieldConfiguration: TextFieldConfiguration(
style: Theme.of(context).textTheme.headline6,
controller: _controller,

@ -4,11 +4,11 @@ import 'package:test_sa/models/subtitle.dart';
import 'package:test_sa/views/app_style/colors.dart';
import 'package:test_sa/views/app_style/sizing.dart';
import '../../../models/asset/asset.dart';
import '../../../models/device/device.dart';
class DeviceItem extends StatelessWidget {
final Asset device;
final Function(Asset) onPressed;
final Device device;
final Function(Device) onPressed;
const DeviceItem({Key key, this.device, this.onPressed}) : super(key: key);

@ -7,13 +7,13 @@ import 'package:test_sa/models/enums/translation_keys.dart';
import 'package:test_sa/new_views/common_widgets/app_text_form_field.dart';
import 'package:test_sa/views/widgets/equipment/single_device_picker.dart';
import '../../../models/asset/asset.dart';
import '../../../models/device/device.dart';
class PickAsset extends StatelessWidget {
final Function(Asset) onPickAsset;
final Asset asset;
final Function(Device) onPickAsset;
final Device device;
const PickAsset({Key key, this.asset, this.onPickAsset}) : super(key: key);
const PickAsset({Key key, this.device, this.onPickAsset}) : super(key: key);
@override
Widget build(BuildContext context) {
@ -21,28 +21,28 @@ class PickAsset extends StatelessWidget {
children: [
AppTextFormField(
enable: false,
labelText: TranslationKeys.submitRequest,
labelText: TranslationKeys.device,
initialValue: context.translate(TranslationKeys.site),
suffixIcon: "qr".toSvgAsset(height: 24, fit: BoxFit.fitHeight).paddingOnly(end: 16),
).onPress(() async {
Asset device = await Navigator.of(context).pushNamed(SingleDevicePicker.id) as Asset;
Device device = await Navigator.of(context).pushNamed(SingleDevicePicker.id) as Device;
onPickAsset(device);
}),
if (asset != null) 8.height,
if (asset != null)
if (device != null) 8.height,
if (device != null)
Card(
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
context.translate(TranslationKeys.myAssets).heading5(context),
8.height,
"${context.translate(TranslationKeys.myAssets)}: ${asset.assetNumber}".bodyText(context),
"${context.translate(TranslationKeys.myAssets)}: ${asset.id}".bodyText(context),
"${context.translate(TranslationKeys.myAssets)}: ${asset.assetNumber}".bodyText(context),
"${context.translate(TranslationKeys.myAssets)}: ${asset.assetNumber}".bodyText(context),
"${context.translate(TranslationKeys.assetNo)}: ${device.assetNumber}".bodyText(context),
"${context.translate(TranslationKeys.manufacture)}: ${device.modelDefinition?.manufacturerName}".bodyText(context),
"${context.translate(TranslationKeys.model)}: ${device.modelDefinition?.modelName}".bodyText(context),
"${context.translate(TranslationKeys.serialNumber)}: ${device.assetNumber}".bodyText(context),
const Divider().defaultStyle(context),
"${context.translate(TranslationKeys.myAssets)}: ${asset.assetNumber}".bodyText(context),
"${context.translate(TranslationKeys.myAssets)}: ${asset.assetNumber}".bodyText(context),
"${context.translate(TranslationKeys.department)}: ${device.department?.departmentName}".bodyText(context),
"${context.translate(TranslationKeys.site)}: ${device.site?.custName}".bodyText(context),
],
).paddingAll(16),
),

@ -10,7 +10,7 @@ import 'package:test_sa/views/widgets/loaders/lazy_loading.dart';
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
import 'package:test_sa/views/widgets/loaders/no_item_found.dart';
import '../../../models/asset/asset.dart';
import '../../../models/device/device.dart';
import '../app_text_form_field.dart';
import '../qr/scan_qr.dart';
@ -26,8 +26,8 @@ class _SingleDevicePickerState extends State<SingleDevicePicker> {
AssetProvider _devicesProvider;
UserProvider _userProvider;
SettingProvider _settingProvider;
List<Asset> _searchableList = [];
List<Asset> _initList = [];
List<Device> _searchableList = [];
List<Device> _initList = [];
bool _firstTime = true;
Subtitle _subtitle;

@ -8,7 +8,7 @@ import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/views/app_style/colors.dart';
import 'package:test_sa/views/app_style/sizing.dart';
import '../../../../models/asset/asset.dart';
import '../../../../models/device/device.dart';
class AutoCompleteDeviceNumberField extends StatefulWidget {
final Lookup initialValue;
@ -52,7 +52,7 @@ class _AutoCompleteDeviceNumberFieldState extends State<AutoCompleteDeviceNumber
border: Border.all(color: AColors.black),
borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
boxShadow: const [AppStyle.boxShadow]),
child: TypeAheadField<Asset>(
child: TypeAheadField<Device>(
textFieldConfiguration: TextFieldConfiguration(
style: Theme.of(context).textTheme.headline6,
controller: _controller,

@ -1,12 +1,12 @@
import 'package:flutter/material.dart';
import 'package:test_sa/controllers/localization/localization.dart';
import 'package:test_sa/models/asset/asset_transfer.dart';
import 'package:test_sa/models/device/asset_transfer.dart';
import 'package:test_sa/models/subtitle.dart';
import 'package:test_sa/views/app_style/sizing.dart';
import 'package:test_sa/views/widgets/buttons/app_small_button.dart';
import 'package:test_sa/views/widgets/equipment/pick_asset.dart';
import '../../../models/asset/asset_transfer_search.dart';
import '../../../models/device/asset_transfer_search.dart';
import '../app_text_form_field.dart';
import '../switch_button.dart';
@ -80,7 +80,7 @@ class AssetTransferSearchDialogState extends State<AssetTransferSearchDialog> wi
),
SizedBox(height: 8.0 * AppStyle.getScaleFactor(context)),
PickAsset(
asset: _search.asset,
device: _search.asset,
onPickAsset: (device) {
_search.asset = device;
setState(() {});

Loading…
Cancel
Save