|
|
|
@ -1,4 +1,5 @@
|
|
|
|
import 'dart:convert';
|
|
|
|
import 'dart:convert';
|
|
|
|
|
|
|
|
import 'dart:developer';
|
|
|
|
import 'dart:io';
|
|
|
|
import 'dart:io';
|
|
|
|
|
|
|
|
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
@ -77,31 +78,24 @@ class _CreateTRAFRequestPageState extends State<CreateTRAFRequestPage> {
|
|
|
|
void initState() {
|
|
|
|
void initState() {
|
|
|
|
super.initState();
|
|
|
|
super.initState();
|
|
|
|
trafRequest = TrafRequestDataModel(id: 0, attachments: [], departments: [], qty: 1);
|
|
|
|
trafRequest = TrafRequestDataModel(id: 0, attachments: [], departments: [], qty: 1);
|
|
|
|
// Reset providers and load site data after the first frame to avoid provider lifecycle issues
|
|
|
|
|
|
|
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
|
|
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
|
|
|
// Only reset providers if they don't have data (first time load)
|
|
|
|
|
|
|
|
// This prevents unnecessary loading when navigating back and forth
|
|
|
|
|
|
|
|
final requestTypeProvider = Provider.of<RequestTypeLookupProvider>(context, listen: false);
|
|
|
|
final requestTypeProvider = Provider.of<RequestTypeLookupProvider>(context, listen: false);
|
|
|
|
final yesNoProvider = Provider.of<YesNoLookupProvider>(context, listen: false);
|
|
|
|
final yesNoProvider = Provider.of<YesNoLookupProvider>(context, listen: false);
|
|
|
|
final customerProvider = Provider.of<CustomerLookupProvider>(context, listen: false);
|
|
|
|
final customerProvider = Provider.of<CustomerLookupProvider>(context, listen: false);
|
|
|
|
|
|
|
|
|
|
|
|
// Only load if not already loaded
|
|
|
|
|
|
|
|
if (requestTypeProvider.items.isEmpty) {
|
|
|
|
if (requestTypeProvider.items.isEmpty) {
|
|
|
|
requestTypeProvider.getData();
|
|
|
|
requestTypeProvider.reset();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (yesNoProvider.items.isEmpty) {
|
|
|
|
if (yesNoProvider.items.isEmpty) {
|
|
|
|
yesNoProvider.getData();
|
|
|
|
yesNoProvider.reset();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
final userId = context.userProvider.user?.userID;
|
|
|
|
// Load customer/site data using the string user ID (GUID) only if not loaded
|
|
|
|
if (customerProvider.items.isEmpty && userId != null && userId.isNotEmpty) {
|
|
|
|
if (customerProvider.items.isEmpty) {
|
|
|
|
customerProvider.getDataByUserId(userId);
|
|
|
|
final userId = context.userProvider.user?.userID;
|
|
|
|
|
|
|
|
if (userId != null && userId.isNotEmpty) {
|
|
|
|
|
|
|
|
customerProvider.getDataByUserId(userId);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
log('user id is ${userId}');
|
|
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void resetProviders() {
|
|
|
|
void resetProviders() {
|
|
|
|
|