Preventive Maintenance Screen

merge-requests/8/head
zaid_daoud 2 years ago
parent 095dbc86ad
commit 0e87b0fbf9

@ -72,11 +72,9 @@ class RegularVisitsProvider extends ChangeNotifier {
if (response.statusCode >= 200 && response.statusCode < 300) {
// client's request was successfully received
try {
List requestsListJson =
json.decode(utf8.decode(response.bodyBytes).replaceAll("\\", ""));
List<Visit> visits =
requestsListJson.map((request) => Visit.fromJson(request)).toList();
visits.addAll(visits);
List requestsListJson = json.decode(utf8.decode(response.bodyBytes).replaceAll("\\", ""));
List<Visit> visitsList = requestsListJson.map((request) => Visit.fromJson(request)).toList();
visits.addAll(visitsList);
if (visits.length == pageItemNumber) {
nextPage = true;
} else {

@ -1,7 +1,6 @@
import '../lookup.dart';
class Visit{
class Visit {
String? id;
String? serialNumber;
String? expectDate;
@ -42,7 +41,7 @@ class Visit{
this.deviceNumber,
});
factory Visit.fromJson(Map<String,dynamic> parsedJson){
factory Visit.fromJson(Map<String, dynamic> parsedJson) {
return Visit(
id: parsedJson["nid"],
serialNumber: parsedJson["title"],
@ -61,9 +60,9 @@ class Visit{
contactStatus: parsedJson["contactStatus"],
images: List<String>.from(parsedJson["images"] ?? []),
status: Lookup(
id: int.tryParse(parsedJson["status"] ?? "-1")??-1, // actual value (0,1,2)
label: parsedJson["status_value"] // text value
),
id: int.tryParse(parsedJson["status"] ?? "-1") ?? -1, // actual value (0,1,2)
label: parsedJson["status_value"] // text value
),
assignTo: parsedJson["assigned_to"],
);
}

@ -4,20 +4,22 @@ import '../../../controllers/localization/localization.dart';
import '../../../models/subtitle.dart';
import '../../app_style/sizing.dart';
import 'date_picker.dart';
class FromToDateBar extends StatefulWidget {
final DateTime from;
final DateTime to;
final DateTime? from;
final DateTime? to;
final Function(DateTime)? onPickFrom;
final Function(DateTime)? onPickTo;
const FromToDateBar({Key? key, required this.from, required this.to, this.onPickFrom, this.onPickTo}) : super(key: key);
@override
_FromToDateBarState createState() => _FromToDateBarState();
}
class _FromToDateBarState extends State<FromToDateBar> {
late DateTime _from;
late DateTime _to;
late DateTime? _from;
late DateTime? _to;
@override
void initState() {
@ -32,22 +34,18 @@ class _FromToDateBarState extends State<FromToDateBar> {
return Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
_subtitle?.from??'',
style: Theme.of(context).textTheme.bodyText1?.copyWith(
fontSize: 12,
fontWeight: FontWeight.normal
),
_subtitle?.from ?? '',
style: Theme.of(context).textTheme.bodyText1?.copyWith(fontSize: 12, fontWeight: FontWeight.normal),
textScaleFactor: AppStyle.getScaleFactor(context),
),
ADatePicker(
date: _from,
from: DateTime(1950),
onDatePicker: (date){
onDatePicker: (date) {
_from = date;
setState(() {});
widget.onPickFrom!(date);
@ -59,17 +57,14 @@ class _FromToDateBarState extends State<FromToDateBar> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
_subtitle?.to??"",
style: Theme.of(context).textTheme.bodyText1?.copyWith(
fontSize: 12,
fontWeight: FontWeight.normal
),
_subtitle?.to ?? "",
style: Theme.of(context).textTheme.bodyText1?.copyWith(fontSize: 12, fontWeight: FontWeight.normal),
textScaleFactor: AppStyle.getScaleFactor(context),
),
ADatePicker(
date: _to,
from: DateTime(1950),
onDatePicker: (date){
onDatePicker: (date) {
_to = date;
setState(() {});
widget.onPickTo!(date);

@ -29,8 +29,7 @@ class VisitsSearchDialog extends StatefulWidget {
VisitsSearchDialogState createState() => VisitsSearchDialogState();
}
class VisitsSearchDialogState extends State<VisitsSearchDialog>
with TickerProviderStateMixin {
class VisitsSearchDialogState extends State<VisitsSearchDialog> with TickerProviderStateMixin {
VisitsSearch? _search;
List<Lookup> status = const [
Lookup(
@ -195,8 +194,7 @@ class VisitsSearchDialogState extends State<VisitsSearchDialog>
children: List.generate(
contactStatus.length,
(index) {
bool isSelected =
_search?.contactStatus == contactStatus[index].key;
bool isSelected = _search?.contactStatus == contactStatus[index].key;
return FilterItem(
isSelected: isSelected,
onSelected: () {
@ -220,8 +218,8 @@ class VisitsSearchDialogState extends State<VisitsSearchDialog>
height: 4.0 * AppStyle.getScaleFactor(context),
),
FromToDateBar(
from: _search!.actualDateFrom!,
to: _search!.actualDateTo!,
from: _search?.actualDateFrom,
to: _search?.actualDateTo,
onPickFrom: (date) {
_search?.actualDateFrom = date;
},
@ -237,11 +235,8 @@ class VisitsSearchDialogState extends State<VisitsSearchDialog>
height: 4.0 * AppStyle.getScaleFactor(context),
),
FromToDateBar(
from: _search?.expectedDateFrom ??
DateTime(today.year, today.month, 1),
to: _search?.expectedDateTo ??
DateTime(today.year, (today.month + 1).clamp(1, 12),
today.month == 12 ? 31 : 0),
from: _search?.expectedDateFrom ?? DateTime(today.year, today.month, 1),
to: _search?.expectedDateTo ?? DateTime(today.year, (today.month + 1).clamp(1, 12), today.month == 12 ? 31 : 0),
onPickFrom: (date) {
_search?.expectedDateFrom = date;
},
@ -252,8 +247,7 @@ class VisitsSearchDialogState extends State<VisitsSearchDialog>
Visibility(
visible: _search?.toSearchString().isNotEmpty ?? false,
child: Padding(
padding:
const EdgeInsets.symmetric(vertical: 8, horizontal: 16),
padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 16),
child: AButton(
padding: EdgeInsets.zero,
text: subtitle?.clearSearch ?? '',

Loading…
Cancel
Save