|
|
|
|
@ -6,10 +6,11 @@ import 'package:test_sa/controllers/providers/api/ppm_provider.dart';
|
|
|
|
|
import 'package:test_sa/extensions/context_extension.dart';
|
|
|
|
|
import 'package:test_sa/extensions/int_extensions.dart';
|
|
|
|
|
import 'package:test_sa/extensions/string_extensions.dart';
|
|
|
|
|
import 'package:test_sa/models/device/model_definition.dart';
|
|
|
|
|
import 'package:test_sa/models/device/supplier.dart';
|
|
|
|
|
import 'package:test_sa/extensions/text_extensions.dart';
|
|
|
|
|
import 'package:test_sa/extensions/widget_extensions.dart';
|
|
|
|
|
import 'package:test_sa/models/device/asset.dart';
|
|
|
|
|
import 'package:test_sa/models/device/model_definition.dart';
|
|
|
|
|
import 'package:test_sa/models/device/supplier.dart';
|
|
|
|
|
import 'package:test_sa/models/lookup.dart';
|
|
|
|
|
import 'package:test_sa/models/new_models/building.dart';
|
|
|
|
|
import 'package:test_sa/models/new_models/department.dart';
|
|
|
|
|
@ -25,12 +26,10 @@ import 'package:test_sa/providers/ppm_asset_availability_provider.dart';
|
|
|
|
|
import 'package:test_sa/providers/ppm_electrical_safety_provider.dart';
|
|
|
|
|
import 'package:test_sa/providers/ppm_service_provider.dart';
|
|
|
|
|
import 'package:test_sa/providers/ppm_task_status_provider.dart';
|
|
|
|
|
|
|
|
|
|
import 'package:test_sa/views/widgets/bottom_sheets/asset_detail_bottom_sheet.dart';
|
|
|
|
|
import 'package:test_sa/views/widgets/date_and_time/date_picker.dart';
|
|
|
|
|
import 'package:test_sa/views/widgets/images/multi_image_picker.dart';
|
|
|
|
|
import 'package:test_sa/views/widgets/requests/request_status.dart';
|
|
|
|
|
import 'package:test_sa/models/device/asset.dart';
|
|
|
|
|
import 'package:test_sa/views/widgets/timer/app_timer.dart';
|
|
|
|
|
|
|
|
|
|
class WoInfoForm extends StatefulWidget {
|
|
|
|
|
@ -63,9 +62,7 @@ class _WoInfoFormState extends State<WoInfoForm> {
|
|
|
|
|
double totalWorkingHours =
|
|
|
|
|
widget.planPreventiveVisit.preventiveVisitTimers?.fold(0.0, (sum, item) => (sum ?? 0) + DateTime.parse(item.endDateTime!).difference(DateTime.parse(item.startDateTime!)).inSeconds) ?? 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return Consumer<PpmProvider>(builder: (context, ppmProvider, child) {
|
|
|
|
|
|
|
|
|
|
return ListView(
|
|
|
|
|
padding: const EdgeInsets.only(left: 16, right: 16, top: 8, bottom: 16),
|
|
|
|
|
children: [
|
|
|
|
|
@ -109,7 +106,7 @@ class _WoInfoFormState extends State<WoInfoForm> {
|
|
|
|
|
Row(
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
|
children: [
|
|
|
|
|
widget.planPreventiveVisit.assetName!.bodyText(context).custom(color: AppColor.black10),
|
|
|
|
|
widget.planPreventiveVisit.assetName!.bodyText(context).custom(color: AppColor.black10).expanded,
|
|
|
|
|
"info_icon".toSvgAsset(height: 17, width: 17).onPress(
|
|
|
|
|
() {
|
|
|
|
|
// There is only limited information for asset is returned from backend to show all info need to return the whole model from backend...
|
|
|
|
|
@ -171,7 +168,8 @@ class _WoInfoFormState extends State<WoInfoForm> {
|
|
|
|
|
SingleItemDropDownMenu<Lookup, PpmTaskStatusProvider>(
|
|
|
|
|
context: context,
|
|
|
|
|
showShadow: false,
|
|
|
|
|
initialValue: widget.planPreventiveVisit.taskStatus == null ? null : Lookup(name: widget.planPreventiveVisit.taskStatus?.name ?? "", id: widget.planPreventiveVisit.taskStatus?.id),
|
|
|
|
|
initialValue:
|
|
|
|
|
widget.planPreventiveVisit.taskStatus == null ? null : Lookup(name: widget.planPreventiveVisit.taskStatus?.name ?? "", id: widget.planPreventiveVisit.taskStatus?.id),
|
|
|
|
|
title: context.translation.pmTestResult,
|
|
|
|
|
backgroundColor: AppColor.neutral100,
|
|
|
|
|
onSelect: (value) {
|
|
|
|
|
@ -331,8 +329,8 @@ class _WoInfoFormState extends State<WoInfoForm> {
|
|
|
|
|
floor: Floor(name: model.floorName),
|
|
|
|
|
site: Site(custName: model.siteName),
|
|
|
|
|
supplier: Supplier(suppliername: model.supplierName),
|
|
|
|
|
modelDefinition: ModelDefinition(modelName: model.model, manufacturerName: model.manufacturer),
|
|
|
|
|
room: Rooms(value: int.tryParse(model.roomName??'')),
|
|
|
|
|
modelDefinition: ModelDefinition(modelName: model.model, manufacturerName: model.manufacturer, assetName: model.assetName),
|
|
|
|
|
room: Rooms(value: int.tryParse(model.roomName ?? '')),
|
|
|
|
|
department: Department(departmentName: model.departmentName),
|
|
|
|
|
);
|
|
|
|
|
return AssetDetailBottomSheet(asset);
|
|
|
|
|
|