WIP
This commit is contained in:
parent
d286daca53
commit
6702017e07
|
@ -11,6 +11,7 @@ import 'package:hub/flutter_flow/nav/nav.dart';
|
||||||
import 'package:hub/flutter_flow/random_data_util.dart';
|
import 'package:hub/flutter_flow/random_data_util.dart';
|
||||||
import 'package:hub/shared/utils/dialog_util.dart';
|
import 'package:hub/shared/utils/dialog_util.dart';
|
||||||
import 'package:qr_flutter/qr_flutter.dart';
|
import 'package:qr_flutter/qr_flutter.dart';
|
||||||
|
import 'package:share_plus/share_plus.dart';
|
||||||
import 'package:url_launcher/url_launcher.dart';
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
||||||
import '../shared/utils/log_util.dart';
|
import '../shared/utils/log_util.dart';
|
||||||
|
@ -153,7 +154,6 @@ Future singInLoginAction(
|
||||||
|
|
||||||
AppState().haveLocal =
|
AppState().haveLocal =
|
||||||
await checkLocals(context: context, model: model);
|
await checkLocals(context: context, model: model);
|
||||||
log('haveLocal in login: ${AppState().haveLocal}');
|
|
||||||
toggleApp(context, AppState().haveLocal!);
|
toggleApp(context, AppState().haveLocal!);
|
||||||
} else {
|
} else {
|
||||||
if (PhpGroup.loginCall.msg((loginCall?.jsonBody ?? '')) == null) {
|
if (PhpGroup.loginCall.msg((loginCall?.jsonBody ?? '')) == null) {
|
||||||
|
@ -299,7 +299,6 @@ Future toggleSignUpPage(BuildContext context) async {
|
||||||
}
|
}
|
||||||
|
|
||||||
Future toggleApp(BuildContext context, bool haveLocal) async {
|
Future toggleApp(BuildContext context, bool haveLocal) async {
|
||||||
log('haveLocal in toggleApp: $haveLocal');
|
|
||||||
if (haveLocal == true)
|
if (haveLocal == true)
|
||||||
context.goNamed(
|
context.goNamed(
|
||||||
'homePage',
|
'homePage',
|
||||||
|
@ -384,7 +383,6 @@ Future<bool> checkLocals({
|
||||||
devUUID: AppState().devUUID,
|
devUUID: AppState().devUUID,
|
||||||
userUUID: AppState().userUUID,
|
userUUID: AppState().userUUID,
|
||||||
);
|
);
|
||||||
log(response.jsonBody.toString());
|
|
||||||
|
|
||||||
// Verificação rápida de erro para evitar processamento desnecessário.
|
// Verificação rápida de erro para evitar processamento desnecessário.
|
||||||
if (response.jsonBody['error']) {
|
if (response.jsonBody['error']) {
|
||||||
|
@ -400,6 +398,21 @@ Future<bool> checkLocals({
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<void> showShare(payload) async {
|
||||||
|
for (var i = 0; i < payload['convites'].length; i++) {
|
||||||
|
log('ADD');
|
||||||
|
await Share.share('''
|
||||||
|
Olá, \*${payload['convites'][i]['VTE_NOME']}\*! Você foi convidado para \*${AppState().local}\*.
|
||||||
|
|
||||||
|
\*Validade do Convite\*:
|
||||||
|
- Início: ${payload['convites'][i]['VAW_DTINICIO']}
|
||||||
|
- Fim: ${payload['convites'][i]['VAW_DTFIM']}
|
||||||
|
|
||||||
|
URL do Convite: https://visita.freaccess.com.br/${payload['convites'][i]['VAW_ID']}/${AppState().cliUUID}/${payload['convites'][i]['VAW_CHAVE']}
|
||||||
|
''');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Future answersRequest(BuildContext context, String? ref, String? task,
|
Future answersRequest(BuildContext context, String? ref, String? task,
|
||||||
String? response, String? id) async {
|
String? response, String? id) async {
|
||||||
ApiCallResponse? respondeSolicitacaoCall;
|
ApiCallResponse? respondeSolicitacaoCall;
|
||||||
|
|
|
@ -1,9 +1,4 @@
|
||||||
import 'dart:developer';
|
|
||||||
|
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_spinkit/flutter_spinkit.dart';
|
|
||||||
import 'package:google_fonts/google_fonts.dart';
|
|
||||||
import 'package:hub/components/organism_components/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_component_model.dart';
|
import 'package:hub/components/organism_components/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_component_model.dart';
|
||||||
import 'package:hub/components/templates_components/card_item_template_component/card_item_template_component_widget.dart';
|
import 'package:hub/components/templates_components/card_item_template_component/card_item_template_component_widget.dart';
|
||||||
import 'package:hub/flutter_flow/flutter_flow_util.dart';
|
import 'package:hub/flutter_flow/flutter_flow_util.dart';
|
||||||
|
@ -12,27 +7,26 @@ import 'package:hub/shared/utils/log_util.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
import '/backend/api_requests/api_calls.dart';
|
import '/backend/api_requests/api_calls.dart';
|
||||||
import '/flutter_flow/flutter_flow_icon_button.dart';
|
|
||||||
import '/flutter_flow/flutter_flow_theme.dart';
|
import '/flutter_flow/flutter_flow_theme.dart';
|
||||||
|
|
||||||
class BottomArrowLinkedLocalsComponentWidget extends StatefulWidget {
|
class BottomArrowLinkedLocalsComponentWidget extends StatefulWidget {
|
||||||
const BottomArrowLinkedLocalsComponentWidget({super.key});
|
const BottomArrowLinkedLocalsComponentWidget({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<BottomArrowLinkedLocalsComponentWidget> createState() => _BottomArrowLinkedLocalsComponentWidgetState();
|
State<BottomArrowLinkedLocalsComponentWidget> createState() =>
|
||||||
|
_BottomArrowLinkedLocalsComponentWidgetState();
|
||||||
}
|
}
|
||||||
|
|
||||||
class _BottomArrowLinkedLocalsComponentWidgetState extends State<BottomArrowLinkedLocalsComponentWidget> {
|
class _BottomArrowLinkedLocalsComponentWidgetState
|
||||||
|
extends State<BottomArrowLinkedLocalsComponentWidget> {
|
||||||
late BottomArrowLinkedLocalsComponentModel _model;
|
late BottomArrowLinkedLocalsComponentModel _model;
|
||||||
|
|
||||||
|
|
||||||
bool _loading = false;
|
bool _loading = false;
|
||||||
bool _hasData = false;
|
bool _hasData = false;
|
||||||
|
|
||||||
late Future<void> _localsFuture;
|
late Future<void> _localsFuture;
|
||||||
List<dynamic> _localsWrap = [];
|
List<dynamic> _localsWrap = [];
|
||||||
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void setState(VoidCallback callback) {
|
void setState(VoidCallback callback) {
|
||||||
super.setState(callback);
|
super.setState(callback);
|
||||||
|
@ -42,7 +36,8 @@ class _BottomArrowLinkedLocalsComponentWidgetState extends State<BottomArrowLink
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
_model = createModel(context, () => BottomArrowLinkedLocalsComponentModel());
|
_model =
|
||||||
|
createModel(context, () => BottomArrowLinkedLocalsComponentModel());
|
||||||
_localsFuture = _fetchLocals();
|
_localsFuture = _fetchLocals();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -100,7 +95,6 @@ class _BottomArrowLinkedLocalsComponentWidgetState extends State<BottomArrowLink
|
||||||
_loading = false;
|
_loading = false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<dynamic> _fetchResponseLink(String status, String cliID) async {
|
Future<dynamic> _fetchResponseLink(String status, String cliID) async {
|
||||||
|
@ -109,22 +103,28 @@ class _BottomArrowLinkedLocalsComponentWidgetState extends State<BottomArrowLink
|
||||||
devUUID: AppState().devUUID,
|
devUUID: AppState().devUUID,
|
||||||
userUUID: AppState().userUUID,
|
userUUID: AppState().userUUID,
|
||||||
cliID: cliID,
|
cliID: cliID,
|
||||||
tarefa: status
|
tarefa: status);
|
||||||
);
|
|
||||||
|
|
||||||
if (response.jsonBody['error'] == false) {
|
if (response.jsonBody['error'] == false) {
|
||||||
return {'error': false, 'error_msg': FFLocalizations.of(context).getVariableText(ptText: "Vinculo Ativado com Sucesso", enText: "Link Activated Successfully") };
|
return {
|
||||||
|
'error': false,
|
||||||
|
'error_msg': FFLocalizations.of(context).getVariableText(
|
||||||
|
ptText: "Vinculo Ativado com Sucesso",
|
||||||
|
enText: "Link Activated Successfully")
|
||||||
|
};
|
||||||
} else {
|
} else {
|
||||||
return response.jsonBody;
|
return response.jsonBody;
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
DialogUtil.errorDefault(context);
|
DialogUtil.errorDefault(context);
|
||||||
LogUtil.requestAPIFailed('responderVinculo.php', '', 'Responder Vinculo', e, s);
|
LogUtil.requestAPIFailed(
|
||||||
return {'error': true, 'error_msg': FFLocalizations.of(context).getVariableText(
|
'responderVinculo.php', '', 'Responder Vinculo', e, s);
|
||||||
|
return {
|
||||||
|
'error': true,
|
||||||
|
'error_msg': FFLocalizations.of(context).getVariableText(
|
||||||
ptText: "Falha ao efetuar operação, Tente Novamente mais tarde.",
|
ptText: "Falha ao efetuar operação, Tente Novamente mais tarde.",
|
||||||
enText: "Failed to perform operation, please try again later."
|
enText: "Failed to perform operation, please try again later.")
|
||||||
)};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -135,18 +135,25 @@ class _BottomArrowLinkedLocalsComponentWidgetState extends State<BottomArrowLink
|
||||||
Map<String, String> _labelsHashMap(dynamic local) {
|
Map<String, String> _labelsHashMap(dynamic local) {
|
||||||
return Map<String, String>.from({
|
return Map<String, String>.from({
|
||||||
'${local['CLI_PREFIXO']}:': local['CLI_NOME'],
|
'${local['CLI_PREFIXO']}:': local['CLI_NOME'],
|
||||||
'${FFLocalizations.of(context).getVariableText(ptText: 'Propriedade', enText: 'Property')}:': local['CLU_OWNER_DSC']
|
'${FFLocalizations.of(context).getVariableText(ptText: 'Propriedade', enText: 'Property')}:':
|
||||||
|
local['CLU_OWNER_DSC']
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, Color> _statusHashMap(dynamic local) {
|
Map<String, Color> _statusHashMap(dynamic local) {
|
||||||
return Map<String, Color>.from({
|
return Map<String, Color>.from({
|
||||||
if (local['CLU_STATUS'] == 'A')
|
if (local['CLU_STATUS'] == 'A')
|
||||||
FFLocalizations.of(context).getVariableText(ptText: 'Ativo', enText: 'Active'): FlutterFlowTheme.of(context).success
|
FFLocalizations.of(context).getVariableText(
|
||||||
|
ptText: 'Ativo',
|
||||||
|
enText: 'Active'): FlutterFlowTheme.of(context).success
|
||||||
else if (local['CLU_STATUS'] == 'B')
|
else if (local['CLU_STATUS'] == 'B')
|
||||||
FFLocalizations.of(context).getVariableText(ptText: 'Bloqueado', enText: 'Blocked'): FlutterFlowTheme.of(context).error
|
FFLocalizations.of(context).getVariableText(
|
||||||
|
ptText: 'Bloqueado',
|
||||||
|
enText: 'Blocked'): FlutterFlowTheme.of(context).error
|
||||||
else
|
else
|
||||||
FFLocalizations.of(context).getVariableText(ptText: 'Pendente', enText: 'Pending'): FlutterFlowTheme.of(context).warning
|
FFLocalizations.of(context).getVariableText(
|
||||||
|
ptText: 'Pendente',
|
||||||
|
enText: 'Pending'): FlutterFlowTheme.of(context).warning
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,7 +163,6 @@ class _BottomArrowLinkedLocalsComponentWidgetState extends State<BottomArrowLink
|
||||||
labelsHashMap: _labelsHashMap(local),
|
labelsHashMap: _labelsHashMap(local),
|
||||||
statusHashMap: [_statusHashMap(local)],
|
statusHashMap: [_statusHashMap(local)],
|
||||||
onTapCardItemAction: () async {
|
onTapCardItemAction: () async {
|
||||||
|
|
||||||
if (local['CLU_STATUS'] == 'A') {
|
if (local['CLU_STATUS'] == 'A') {
|
||||||
AppState().cliUUID = local['CLI_ID'];
|
AppState().cliUUID = local['CLI_ID'];
|
||||||
AppState().local = local['CLI_NOME'];
|
AppState().local = local['CLI_NOME'];
|
||||||
|
@ -164,11 +170,12 @@ class _BottomArrowLinkedLocalsComponentWidgetState extends State<BottomArrowLink
|
||||||
Navigator.pop(context);
|
Navigator.pop(context);
|
||||||
} else if (local['CLU_STATUS'] == 'B') {
|
} else if (local['CLU_STATUS'] == 'B') {
|
||||||
String message = FFLocalizations.of(context).getVariableText(
|
String message = FFLocalizations.of(context).getVariableText(
|
||||||
ptText: 'Local Bloqueado para Acesso, Entre em Contato com Administração',
|
ptText:
|
||||||
enText: 'Location Blocked for Access, Contact Administration'
|
'Local Bloqueado para Acesso, Entre em Contato com Administração',
|
||||||
);
|
enText: 'Location Blocked for Access, Contact Administration');
|
||||||
|
|
||||||
if (local['CLU_BLK_MESSAGE'] != null && local['CLU_BLK_MESSAGE'] != '') {
|
if (local['CLU_BLK_MESSAGE'] != null &&
|
||||||
|
local['CLU_BLK_MESSAGE'] != '') {
|
||||||
message = local['CLU_BLK_MESSAGE'];
|
message = local['CLU_BLK_MESSAGE'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -179,8 +186,11 @@ class _BottomArrowLinkedLocalsComponentWidgetState extends State<BottomArrowLink
|
||||||
String localName = local['CLI_NOME'];
|
String localName = local['CLI_NOME'];
|
||||||
showAlertDialog(
|
showAlertDialog(
|
||||||
context,
|
context,
|
||||||
FFLocalizations.of(context).getVariableText(ptText: 'Ativar VInculo', enText: 'Activate Link'),
|
FFLocalizations.of(context).getVariableText(
|
||||||
FFLocalizations.of(context).getVariableText(ptText: 'Deseja Aceitar o Vinculo a $localName?', enText: 'Do you wish to accept the link to $localName?'),
|
ptText: 'Ativar VInculo', enText: 'Activate Link'),
|
||||||
|
FFLocalizations.of(context).getVariableText(
|
||||||
|
ptText: 'Deseja Aceitar o Vinculo a $localName?',
|
||||||
|
enText: 'Do you wish to accept the link to $localName?'),
|
||||||
() async {
|
() async {
|
||||||
var response = await _fetchResponseLink('A', local['CLI_ID']);
|
var response = await _fetchResponseLink('A', local['CLI_ID']);
|
||||||
Navigator.pop(context);
|
Navigator.pop(context);
|
||||||
|
@ -191,10 +201,8 @@ class _BottomArrowLinkedLocalsComponentWidgetState extends State<BottomArrowLink
|
||||||
_localsWrap = [];
|
_localsWrap = [];
|
||||||
_localsFuture = _fetchLocals();
|
_localsFuture = _fetchLocals();
|
||||||
}
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -218,8 +226,7 @@ class _BottomArrowLinkedLocalsComponentWidgetState extends State<BottomArrowLink
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
)
|
));
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
@ -236,10 +243,7 @@ class _BottomArrowLinkedLocalsComponentWidgetState extends State<BottomArrowLink
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: FlutterFlowTheme.of(context).primaryBackground,
|
color: FlutterFlowTheme.of(context).primaryBackground,
|
||||||
borderRadius: const BorderRadius.only(
|
borderRadius: const BorderRadius.only(
|
||||||
topLeft: Radius.circular(25),
|
topLeft: Radius.circular(25), topRight: Radius.circular(25))),
|
||||||
topRight: Radius.circular(25)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
child: Column(
|
child: Column(
|
||||||
mainAxisSize: MainAxisSize.max,
|
mainAxisSize: MainAxisSize.max,
|
||||||
mainAxisAlignment: MainAxisAlignment.start,
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
@ -258,7 +262,9 @@ class _BottomArrowLinkedLocalsComponentWidgetState extends State<BottomArrowLink
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
else if (_hasData == true && _loading == false && _localsWrap.isNotEmpty)
|
else if (_hasData == true &&
|
||||||
|
_loading == false &&
|
||||||
|
_localsWrap.isNotEmpty)
|
||||||
Expanded(child: _listItems(context)),
|
Expanded(child: _listItems(context)),
|
||||||
if (_loading == true)
|
if (_loading == true)
|
||||||
Container(
|
Container(
|
||||||
|
@ -271,7 +277,15 @@ class _BottomArrowLinkedLocalsComponentWidgetState extends State<BottomArrowLink
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
],
|
].addToStart(Padding(
|
||||||
|
padding: const EdgeInsets.only(top: 10),
|
||||||
|
child: Center(
|
||||||
|
child: Text(
|
||||||
|
FFLocalizations.of(context).getVariableText(
|
||||||
|
ptText: 'Escolha um local', enText: 'Choose a location'),
|
||||||
|
overflow: TextOverflow.ellipsis,
|
||||||
|
style: TextStyle(fontWeight: FontWeight.bold),
|
||||||
|
)))),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
|
@ -4,6 +4,7 @@ import 'package:hub/components/atomic_components/menu_button_item/menu_button_it
|
||||||
import 'package:hub/components/atomic_components/menu_card_item/menu_card_item.dart';
|
import 'package:hub/components/atomic_components/menu_card_item/menu_card_item.dart';
|
||||||
import 'package:hub/components/molecular_components/menu_item/menu_item.dart';
|
import 'package:hub/components/molecular_components/menu_item/menu_item.dart';
|
||||||
import 'package:hub/flutter_flow/nav/nav.dart';
|
import 'package:hub/flutter_flow/nav/nav.dart';
|
||||||
|
import 'package:material_symbols_icons/symbols.dart';
|
||||||
|
|
||||||
import '/components/organism_components/menu_list_view_component/menu_list_view_component_widget.dart';
|
import '/components/organism_components/menu_list_view_component/menu_list_view_component_widget.dart';
|
||||||
import '/components/organism_components/menu_staggered_view_component/menu_staggered_view_component_widget.dart';
|
import '/components/organism_components/menu_staggered_view_component/menu_staggered_view_component_widget.dart';
|
||||||
|
@ -126,28 +127,6 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
|
||||||
];
|
];
|
||||||
else
|
else
|
||||||
return <MenuEntry>[
|
return <MenuEntry>[
|
||||||
MenuButtonWidget(
|
|
||||||
icon: Icons.engineering_outlined,
|
|
||||||
action: () async {
|
|
||||||
await _model.provisionalSchedule(context);
|
|
||||||
setState(() {});
|
|
||||||
},
|
|
||||||
title: FFLocalizations.of(context).getVariableText(
|
|
||||||
enText: 'Provisional\nSchedule',
|
|
||||||
ptText: 'Agendar\nPrestadores',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
MenuButtonWidget(
|
|
||||||
icon: Icons.sports_motorsports_outlined,
|
|
||||||
action: () async {
|
|
||||||
await _model.deliverySchedule(context);
|
|
||||||
setState(() {});
|
|
||||||
},
|
|
||||||
title: FFLocalizations.of(context).getVariableText(
|
|
||||||
enText: 'Delivery\nSchedule',
|
|
||||||
ptText: 'Agendar\nEntregas',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
MenuButtonWidget(
|
MenuButtonWidget(
|
||||||
icon: Icons.share_location_outlined,
|
icon: Icons.share_location_outlined,
|
||||||
action: () async {
|
action: () async {
|
||||||
|
@ -181,6 +160,17 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
|
||||||
enText: 'My\nOrders',
|
enText: 'My\nOrders',
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
MenuButtonWidget(
|
||||||
|
icon: Icons.engineering_outlined,
|
||||||
|
action: () async {
|
||||||
|
await _model.provisionalSchedule(context);
|
||||||
|
setState(() {});
|
||||||
|
},
|
||||||
|
title: FFLocalizations.of(context).getVariableText(
|
||||||
|
enText: 'Register\nProviders',
|
||||||
|
ptText: 'Cadastrar\nPrestadores',
|
||||||
|
),
|
||||||
|
),
|
||||||
MenuButtonWidget(
|
MenuButtonWidget(
|
||||||
icon: Icons.event_available,
|
icon: Icons.event_available,
|
||||||
action: () async {
|
action: () async {
|
||||||
|
@ -193,14 +183,25 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
MenuButtonWidget(
|
MenuButtonWidget(
|
||||||
icon: FFIcons.khome,
|
icon: Icons.sports_motorsports_outlined,
|
||||||
|
action: () async {
|
||||||
|
await _model.deliverySchedule(context);
|
||||||
|
setState(() {});
|
||||||
|
},
|
||||||
|
title: FFLocalizations.of(context).getVariableText(
|
||||||
|
enText: 'Register\nDeliveries',
|
||||||
|
ptText: 'Cadastrar\nEntregas',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
MenuButtonWidget(
|
||||||
|
icon: Icons.person_add_alt_1_outlined,
|
||||||
action: () async {
|
action: () async {
|
||||||
await _model.registerVisitorOptAction(context);
|
await _model.registerVisitorOptAction(context);
|
||||||
setState(() {});
|
setState(() {});
|
||||||
},
|
},
|
||||||
title: FFLocalizations.of(context).getVariableText(
|
title: FFLocalizations.of(context).getVariableText(
|
||||||
enText: 'Register\nVisitor',
|
enText: 'Register\nVisitor',
|
||||||
ptText: 'Cadastro\nde Visitante',
|
ptText: 'Cadastrar\nVisitante',
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
MenuButtonWidget(
|
MenuButtonWidget(
|
||||||
|
@ -237,7 +238,7 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
MenuButtonWidget(
|
MenuButtonWidget(
|
||||||
icon: Icons.key_outlined,
|
icon: Icons.transfer_within_a_station_outlined,
|
||||||
action: () async {
|
action: () async {
|
||||||
await _model.accessHistoryAction(context);
|
await _model.accessHistoryAction(context);
|
||||||
setState(() {});
|
setState(() {});
|
||||||
|
@ -248,7 +249,7 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
MenuButtonWidget(
|
MenuButtonWidget(
|
||||||
icon: Icons.people_outline_sharp,
|
icon: Symbols.location_away,
|
||||||
action: () async {
|
action: () async {
|
||||||
await _model.visitHistoryAction(context);
|
await _model.visitHistoryAction(context);
|
||||||
setState(() {});
|
setState(() {});
|
||||||
|
@ -276,7 +277,7 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
|
||||||
setState(() {});
|
setState(() {});
|
||||||
},
|
},
|
||||||
title: FFLocalizations.of(context).getVariableText(
|
title: FFLocalizations.of(context).getVariableText(
|
||||||
enText: 'Preferences\nSettings',
|
enText: 'System\n Settings',
|
||||||
ptText: 'Opções\ndo Sistema',
|
ptText: 'Opções\ndo Sistema',
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -526,7 +527,7 @@ class _MenuComponentWidgetState extends State<MenuComponentWidget> {
|
||||||
setState(() {});
|
setState(() {});
|
||||||
},
|
},
|
||||||
title: FFLocalizations.of(context).getVariableText(
|
title: FFLocalizations.of(context).getVariableText(
|
||||||
enText: 'Preferences Settings',
|
enText: 'System Settings',
|
||||||
ptText: 'Opções do Sistema',
|
ptText: 'Opções do Sistema',
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
|
@ -1,24 +1,22 @@
|
||||||
import 'dart:developer';
|
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:hub/actions/actions.dart';
|
import 'package:hub/actions/actions.dart';
|
||||||
import 'package:hub/app_state.dart';
|
|
||||||
import 'package:hub/components/templates_components/details_component/details_component_widget.dart';
|
import 'package:hub/components/templates_components/details_component/details_component_widget.dart';
|
||||||
import 'package:hub/flutter_flow/flutter_flow_icon_button.dart';
|
|
||||||
import 'package:hub/flutter_flow/flutter_flow_theme.dart';
|
import 'package:hub/flutter_flow/flutter_flow_theme.dart';
|
||||||
import 'package:hub/flutter_flow/flutter_flow_util.dart';
|
import 'package:hub/flutter_flow/flutter_flow_util.dart';
|
||||||
import 'package:hub/flutter_flow/flutter_flow_widgets.dart';
|
import 'package:hub/flutter_flow/flutter_flow_widgets.dart';
|
||||||
import 'package:hub/flutter_flow/internationalization.dart';
|
|
||||||
import 'package:hub/flutter_flow/nav/nav.dart';
|
|
||||||
import 'package:hub/pages/schedule_complete_visit_page/schedule_complete_visit_page_widget.dart';
|
import 'package:hub/pages/schedule_complete_visit_page/schedule_complete_visit_page_widget.dart';
|
||||||
import 'package:hub/shared/utils/validator_util.dart';
|
import 'package:hub/shared/utils/validator_util.dart';
|
||||||
import 'package:rxdart/rxdart.dart';
|
|
||||||
import 'package:share_plus/share_plus.dart';
|
import 'package:share_plus/share_plus.dart';
|
||||||
|
|
||||||
Widget buildDetails(dynamic visitaWrapItem, BuildContext context, Future<dynamic> Function(BuildContext, int, int, String, String)? changeStatusAction) {
|
Widget buildDetails(
|
||||||
|
dynamic visitaWrapItem,
|
||||||
|
BuildContext context,
|
||||||
|
Future<dynamic> Function(BuildContext, int, int, String, String)?
|
||||||
|
changeStatusAction) {
|
||||||
return DetailsComponentWidget(
|
return DetailsComponentWidget(
|
||||||
buttons: [
|
buttons: [
|
||||||
if (getStatus(visitaWrapItem['VAW_STATUS']) == status.active) // REJECT ACTION
|
if (getStatus(visitaWrapItem['VAW_STATUS']) ==
|
||||||
|
status.active) // REJECT ACTION
|
||||||
FFButtonWidget(
|
FFButtonWidget(
|
||||||
text: FFLocalizations.of(context).getVariableText(
|
text: FFLocalizations.of(context).getVariableText(
|
||||||
ptText: 'Cancelar',
|
ptText: 'Cancelar',
|
||||||
|
@ -141,13 +139,13 @@ Widget buildDetails(dynamic visitaWrapItem, BuildContext context, Future<dynamic
|
||||||
icon: const Icon(Icons.share),
|
icon: const Icon(Icons.share),
|
||||||
onPressed: () async {
|
onPressed: () async {
|
||||||
Share.share('''
|
Share.share('''
|
||||||
Olá, \*${visitaWrapItem['VTE_NOME']}\*! Você foi convidado para \*${visitaWrapItem['NAC_DESCRICAO']}\*.
|
Olá, \*${visitaWrapItem['VTE_NOME']}\*! Você foi convidado para \*${AppState().local}\*.
|
||||||
|
|
||||||
\*Validade do Convite\*:
|
\*Validade do Convite\*:
|
||||||
- Início: ${visitaWrapItem['VAW_DTINICIO']}
|
- Início: ${visitaWrapItem['VAW_DTINICIO']}
|
||||||
- Fim: ${visitaWrapItem['VAW_DTFIM']}
|
- Fim: ${visitaWrapItem['VAW_DTFIM']}
|
||||||
|
|
||||||
URL do Convite: https://visita.freaccess.com.br/${visitaWrapItem['VAW_ID']}/${visitaWrapItem['CLI_ID']}/${visitaWrapItem['VAW_CHAVE']}
|
URL do Convite: https://visita.freaccess.com.br/${visitaWrapItem['VAW_ID']}/${AppState().cliUUID}/${visitaWrapItem['VAW_CHAVE']}
|
||||||
''');
|
''');
|
||||||
},
|
},
|
||||||
options: FFButtonOptions(
|
options: FFButtonOptions(
|
||||||
|
@ -167,9 +165,20 @@ URL do Convite: https://visita.freaccess.com.br/${visitaWrapItem['VAW_ID']}/${vi
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
labelsHashMap: Map<String, String>.from({
|
labelsHashMap: Map<String, String>.from({
|
||||||
'${FFLocalizations.of(context).getVariableText(ptText: "Nome", enText: "Name")}:': visitaWrapItem['VTE_NOME'] ?? '',
|
'${FFLocalizations.of(context).getVariableText(ptText: "Nome", enText: "Name")}:':
|
||||||
'${FFLocalizations.of(context).getVariableText(ptText: "Inicio", enText: "Start")}:': visitaWrapItem['VAW_DTINICIO'] != '' && visitaWrapItem['VAW_DTINICIO'] != null ? ValidatorUtil.toLocalDateTime('yyyy-MM-dd HH:mm:ss', visitaWrapItem['VAW_DTINICIO']) : '',
|
visitaWrapItem['VTE_NOME'] ?? '',
|
||||||
'${FFLocalizations.of(context).getVariableText(ptText: "Fim", enText: "End")}:': visitaWrapItem['VAW_DTFIM'] != '' && visitaWrapItem['VAW_DTFIM'] != null ? ValidatorUtil.toLocalDateTime('yyyy-MM-dd HH:mm:ss', visitaWrapItem['VAW_DTFIM']) : '',
|
'${FFLocalizations.of(context).getVariableText(ptText: "Inicio", enText: "Start")}:':
|
||||||
|
visitaWrapItem['VAW_DTINICIO'] != '' &&
|
||||||
|
visitaWrapItem['VAW_DTINICIO'] != null
|
||||||
|
? ValidatorUtil.toLocalDateTime(
|
||||||
|
'yyyy-MM-dd HH:mm:ss', visitaWrapItem['VAW_DTINICIO'])
|
||||||
|
: '',
|
||||||
|
'${FFLocalizations.of(context).getVariableText(ptText: "Fim", enText: "End")}:':
|
||||||
|
visitaWrapItem['VAW_DTFIM'] != '' &&
|
||||||
|
visitaWrapItem['VAW_DTFIM'] != null
|
||||||
|
? ValidatorUtil.toLocalDateTime(
|
||||||
|
'yyyy-MM-dd HH:mm:ss', visitaWrapItem['VAW_DTFIM'])
|
||||||
|
: '',
|
||||||
}),
|
}),
|
||||||
imagePath:
|
imagePath:
|
||||||
'https://freaccess.com.br/freaccess/getImage.php?cliID=${AppState().cliUUID}&atividade=getFoto&Documento=${visitaWrapItem['VTE_DOCUMENTO'] ?? ''}&tipo=E',
|
'https://freaccess.com.br/freaccess/getImage.php?cliID=${AppState().cliUUID}&atividade=getFoto&Documento=${visitaWrapItem['VTE_DOCUMENTO'] ?? ''}&tipo=E',
|
||||||
|
|
|
@ -154,8 +154,12 @@ class _SignInTemplateComponentWidgetState
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: const EdgeInsets.all(3.0),
|
padding: const EdgeInsets.all(3.0),
|
||||||
child: Text(
|
child: Text(
|
||||||
FFLocalizations.of(context).getText(
|
FFLocalizations.of(context)
|
||||||
'9hbdjxrz' /* VAMOS LA! ENTRE COM A SUA CONT... */,
|
.getVariableText(
|
||||||
|
ptText:
|
||||||
|
'VAMOS LÁ! ENTRE COM A SUA CONTA',
|
||||||
|
enText:
|
||||||
|
'LET\'S GO! SIGN IN WITH YOUR ACCOUNT',
|
||||||
),
|
),
|
||||||
textAlign: TextAlign.start,
|
textAlign: TextAlign.start,
|
||||||
style: FlutterFlowTheme.of(context)
|
style: FlutterFlowTheme.of(context)
|
||||||
|
|
|
@ -235,7 +235,7 @@ class _SignUpTemplateComponentWidgetState
|
||||||
Form(
|
Form(
|
||||||
key: _model.formKey,
|
key: _model.formKey,
|
||||||
autovalidateMode:
|
autovalidateMode:
|
||||||
AutovalidateMode.always,
|
AutovalidateMode.onUserInteraction,
|
||||||
child: Column(
|
child: Column(
|
||||||
mainAxisSize: MainAxisSize.max,
|
mainAxisSize: MainAxisSize.max,
|
||||||
children: [
|
children: [
|
||||||
|
@ -255,7 +255,7 @@ class _SignUpTemplateComponentWidgetState
|
||||||
EasyDebounce.debounce(
|
EasyDebounce.debounce(
|
||||||
'_model.nameRegisterFormTextController',
|
'_model.nameRegisterFormTextController',
|
||||||
const Duration(
|
const Duration(
|
||||||
milliseconds: 2000),
|
milliseconds: 500),
|
||||||
() => setState(() {}),
|
() => setState(() {}),
|
||||||
),
|
),
|
||||||
autofocus: false,
|
autofocus: false,
|
||||||
|
@ -397,7 +397,7 @@ class _SignUpTemplateComponentWidgetState
|
||||||
EasyDebounce.debounce(
|
EasyDebounce.debounce(
|
||||||
'_model.emailRegisterFormTextController',
|
'_model.emailRegisterFormTextController',
|
||||||
const Duration(
|
const Duration(
|
||||||
milliseconds: 2000),
|
milliseconds: 500),
|
||||||
() => setState(() {}),
|
() => setState(() {}),
|
||||||
),
|
),
|
||||||
autofocus: false,
|
autofocus: false,
|
||||||
|
@ -541,7 +541,7 @@ class _SignUpTemplateComponentWidgetState
|
||||||
EasyDebounce.debounce(
|
EasyDebounce.debounce(
|
||||||
'_model.passwordRegisterFormTextController',
|
'_model.passwordRegisterFormTextController',
|
||||||
const Duration(
|
const Duration(
|
||||||
milliseconds: 2000),
|
milliseconds: 500),
|
||||||
() => setState(() {}),
|
() => setState(() {}),
|
||||||
),
|
),
|
||||||
autofocus: false,
|
autofocus: false,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
import 'package:shared_preferences/shared_preferences.dart';
|
import 'package:shared_preferences/shared_preferences.dart';
|
||||||
|
|
||||||
const _kLocaleStorageKey = '__locale_key__';
|
const _kLocaleStorageKey = '__locale_key__';
|
||||||
|
@ -222,8 +222,8 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
||||||
// scheduleCompleteVisitPage
|
// scheduleCompleteVisitPage
|
||||||
{
|
{
|
||||||
'61lcxdgm': {
|
'61lcxdgm': {
|
||||||
'pt': 'Agendar Visita',
|
'pt': 'Agenda Completa',
|
||||||
'en': 'Schedule Visit',
|
'en': 'Complete Schedule',
|
||||||
},
|
},
|
||||||
'ueth1f4g': {
|
'ueth1f4g': {
|
||||||
'pt': 'Cadastrar Visita',
|
'pt': 'Cadastrar Visita',
|
||||||
|
@ -411,7 +411,7 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
||||||
// acessHistoryPage
|
// acessHistoryPage
|
||||||
{
|
{
|
||||||
'ch8qymga': {
|
'ch8qymga': {
|
||||||
'pt': 'Histórico de Acesso',
|
'pt': 'Consultar Acessos',
|
||||||
'en': 'Access History',
|
'en': 'Access History',
|
||||||
},
|
},
|
||||||
'2odgr6hg': {
|
'2odgr6hg': {
|
||||||
|
@ -442,7 +442,7 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
||||||
'en': 'Reason:',
|
'en': 'Reason:',
|
||||||
},
|
},
|
||||||
'784f83pc': {
|
'784f83pc': {
|
||||||
'pt': 'Histórico de Liberação',
|
'pt': 'Consultar Liberações',
|
||||||
'en': 'Liberation History',
|
'en': 'Liberation History',
|
||||||
},
|
},
|
||||||
'1skj43ye': {
|
'1skj43ye': {
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
import 'dart:developer';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:google_fonts/google_fonts.dart';
|
import 'package:google_fonts/google_fonts.dart';
|
||||||
import 'package:hub/actions/actions.dart';
|
import 'package:hub/actions/actions.dart';
|
||||||
|
@ -229,7 +231,7 @@ class _LiberationHistoryWidgetState extends State<LiberationHistoryWidget> {
|
||||||
),
|
),
|
||||||
icon: const Icon(Icons.done),
|
icon: const Icon(Icons.done),
|
||||||
onPressed: () async {
|
onPressed: () async {
|
||||||
return answersRequest
|
answersRequest
|
||||||
.call(
|
.call(
|
||||||
context,
|
context,
|
||||||
liberationHistoryItem['NOT_ID'].toString(),
|
liberationHistoryItem['NOT_ID'].toString(),
|
||||||
|
@ -237,8 +239,9 @@ class _LiberationHistoryWidgetState extends State<LiberationHistoryWidget> {
|
||||||
'',
|
'',
|
||||||
liberationHistoryItem['VTE_ID'].toString(),
|
liberationHistoryItem['VTE_ID'].toString(),
|
||||||
)
|
)
|
||||||
.then((message) {
|
.then((value) {
|
||||||
if (message.isEmpty) {
|
log('test: $value');
|
||||||
|
if (value) {
|
||||||
showSnackbar(
|
showSnackbar(
|
||||||
context,
|
context,
|
||||||
FFLocalizations.of(context).getVariableText(
|
FFLocalizations.of(context).getVariableText(
|
||||||
|
@ -246,9 +249,14 @@ class _LiberationHistoryWidgetState extends State<LiberationHistoryWidget> {
|
||||||
ptText: 'Visita resolvida com sucesso'),
|
ptText: 'Visita resolvida com sucesso'),
|
||||||
false);
|
false);
|
||||||
} else {
|
} else {
|
||||||
showSnackbar(context, message, true);
|
showSnackbar(
|
||||||
|
context,
|
||||||
|
FFLocalizations.of(context).getVariableText(
|
||||||
|
enText: 'Error resolving visit',
|
||||||
|
ptText: 'Erro ao resolver visita'),
|
||||||
|
true);
|
||||||
}
|
}
|
||||||
|
}).whenComplete(() {
|
||||||
safeSetState(() {
|
safeSetState(() {
|
||||||
_requestWrap = [];
|
_requestWrap = [];
|
||||||
_requestFuture = _fetchRequests();
|
_requestFuture = _fetchRequests();
|
||||||
|
@ -311,46 +319,7 @@ class _LiberationHistoryWidgetState extends State<LiberationHistoryWidget> {
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
).then((_) {
|
).then((_) {});
|
||||||
() {}();
|
|
||||||
// PushNotificationManager _pushNotificationService =
|
|
||||||
// PushNotificationManager();
|
|
||||||
|
|
||||||
// _pushNotificationService.onMessageReceived.listen((received) {
|
|
||||||
// if (received.data['click_action'] == 'cancel_request') {
|
|
||||||
// _pushNotificationService.dispose();
|
|
||||||
// showSnackbar(
|
|
||||||
// context,
|
|
||||||
// FFLocalizations.of(context).getVariableText(
|
|
||||||
// enText: 'Successfully resolved visit',
|
|
||||||
// ptText: 'Visita resolvida com sucesso'),
|
|
||||||
// false);
|
|
||||||
// context.pushReplacementNamed(
|
|
||||||
// 'liberationHistory',
|
|
||||||
// extra: <String, dynamic>{
|
|
||||||
// kTransitionInfoKey: const TransitionInfo(
|
|
||||||
// hasTransition: true,
|
|
||||||
// transitionType: PageTransitionType.scale,
|
|
||||||
// alignment: Alignment.bottomCenter,
|
|
||||||
// ),
|
|
||||||
// },
|
|
||||||
// );
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// }).whenComplete(() {
|
|
||||||
// safeSetState(() {
|
|
||||||
// _requestWrap = [];
|
|
||||||
// _requestFuture = _fetchRequests();
|
|
||||||
// });
|
|
||||||
// }).catchError((e, s) {
|
|
||||||
// DialogUtil.errorDefault(context);
|
|
||||||
// LogUtil.requestAPIFailed(
|
|
||||||
// "proccessRequest.php", "", "Consulta de Solitiações", e, s);
|
|
||||||
// safeSetState(() {
|
|
||||||
// _hasData = false;
|
|
||||||
// _loading = false;
|
|
||||||
// });
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -166,7 +166,7 @@ class _MessageHistoryPageWidgetState extends State<MessageHistoryPageWidget>
|
||||||
title: Text(
|
title: Text(
|
||||||
FFLocalizations.of(context).getVariableText(
|
FFLocalizations.of(context).getVariableText(
|
||||||
enText: 'Message History',
|
enText: 'Message History',
|
||||||
ptText: 'Histórico de Mensagens',
|
ptText: 'Consultar Mensagens',
|
||||||
),
|
),
|
||||||
style: FlutterFlowTheme.of(context).headlineMedium.override(
|
style: FlutterFlowTheme.of(context).headlineMedium.override(
|
||||||
fontFamily: 'Nunito',
|
fontFamily: 'Nunito',
|
||||||
|
|
|
@ -1,11 +1,8 @@
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:developer';
|
|
||||||
|
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:google_fonts/google_fonts.dart';
|
import 'package:google_fonts/google_fonts.dart';
|
||||||
import 'package:hub/backend/api_requests/api_calls.dart';
|
import 'package:hub/backend/api_requests/api_calls.dart';
|
||||||
import 'package:hub/backend/api_requests/api_manager.dart';
|
|
||||||
import 'package:hub/components/molecular_components/order_filter_modal/order_filter_modal_widget.dart';
|
import 'package:hub/components/molecular_components/order_filter_modal/order_filter_modal_widget.dart';
|
||||||
import 'package:hub/components/templates_components/card_item_template_component/card_item_template_component_widget.dart';
|
import 'package:hub/components/templates_components/card_item_template_component/card_item_template_component_widget.dart';
|
||||||
import 'package:hub/components/templates_components/details_component/details_component_widget.dart';
|
import 'package:hub/components/templates_components/details_component/details_component_widget.dart';
|
||||||
|
@ -25,7 +22,6 @@ class PackageOrderPage extends StatefulWidget {
|
||||||
}
|
}
|
||||||
|
|
||||||
class _PackageOrderPage extends State<PackageOrderPage> {
|
class _PackageOrderPage extends State<PackageOrderPage> {
|
||||||
|
|
||||||
late ScrollController _scrollController;
|
late ScrollController _scrollController;
|
||||||
int _pageNumber = 1;
|
int _pageNumber = 1;
|
||||||
final int _pageSize = 10;
|
final int _pageSize = 10;
|
||||||
|
@ -54,8 +50,10 @@ class _PackageOrderPage extends State<PackageOrderPage> {
|
||||||
|
|
||||||
_orderFuture = _fetchOrders();
|
_orderFuture = _fetchOrders();
|
||||||
|
|
||||||
_scrollController = ScrollController()..addListener(() {
|
_scrollController = ScrollController()
|
||||||
if (_scrollController.position.atEdge && _scrollController.position.pixels != 0) {
|
..addListener(() {
|
||||||
|
if (_scrollController.position.atEdge &&
|
||||||
|
_scrollController.position.pixels != 0) {
|
||||||
_loadMoreOrders();
|
_loadMoreOrders();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -94,8 +92,7 @@ class _PackageOrderPage extends State<PackageOrderPage> {
|
||||||
pageSize: _pageSize.toString(),
|
pageSize: _pageSize.toString(),
|
||||||
page: _pageNumber.toString(),
|
page: _pageNumber.toString(),
|
||||||
adresseeType: _adresseeType == '.*' ? 'TOD' : _adresseeType,
|
adresseeType: _adresseeType == '.*' ? 'TOD' : _adresseeType,
|
||||||
status: _status == '.*' ? 'all' : _status
|
status: _status == '.*' ? 'all' : _status);
|
||||||
);
|
|
||||||
|
|
||||||
final List<dynamic> orders = response.jsonBody['value']['list'] ?? [];
|
final List<dynamic> orders = response.jsonBody['value']['list'] ?? [];
|
||||||
|
|
||||||
|
@ -171,8 +168,12 @@ class _PackageOrderPage extends State<PackageOrderPage> {
|
||||||
child: GestureDetector(
|
child: GestureDetector(
|
||||||
onTap: () {},
|
onTap: () {},
|
||||||
child: OrderFilterModalWidget(
|
child: OrderFilterModalWidget(
|
||||||
defaultAdresseeType: _selectedTypeSubject.value['adresseeType'] ?? '.*',
|
defaultAdresseeType: _selectedTypeSubject
|
||||||
defaultStatus: _selectedTypeSubject.value['status'] ?? '.*',
|
.value['adresseeType'] ??
|
||||||
|
'.*',
|
||||||
|
defaultStatus:
|
||||||
|
_selectedTypeSubject.value['status'] ??
|
||||||
|
'.*',
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -224,7 +225,8 @@ class _PackageOrderPage extends State<PackageOrderPage> {
|
||||||
backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
|
backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
|
||||||
automaticallyImplyLeading: false,
|
automaticallyImplyLeading: false,
|
||||||
title: Text(
|
title: Text(
|
||||||
FFLocalizations.of(context).getVariableText(enText: 'Orders', ptText: 'Encomendas'),
|
FFLocalizations.of(context).getVariableText(
|
||||||
|
enText: 'My Orders', ptText: 'Minhas Encomendas'),
|
||||||
style: FlutterFlowTheme.of(context).headlineMedium.override(
|
style: FlutterFlowTheme.of(context).headlineMedium.override(
|
||||||
fontFamily: 'Nunito',
|
fontFamily: 'Nunito',
|
||||||
color: FlutterFlowTheme.of(context).primaryText,
|
color: FlutterFlowTheme.of(context).primaryText,
|
||||||
|
@ -232,8 +234,7 @@ class _PackageOrderPage extends State<PackageOrderPage> {
|
||||||
letterSpacing: 0.0,
|
letterSpacing: 0.0,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
useGoogleFonts: GoogleFonts.asMap().containsKey('Nunito'),
|
useGoogleFonts: GoogleFonts.asMap().containsKey('Nunito'),
|
||||||
)
|
)),
|
||||||
),
|
|
||||||
leading: _backButton(context, FlutterFlowTheme.of(context)),
|
leading: _backButton(context, FlutterFlowTheme.of(context)),
|
||||||
centerTitle: true,
|
centerTitle: true,
|
||||||
elevation: 0.0,
|
elevation: 0.0,
|
||||||
|
@ -295,8 +296,7 @@ class _PackageOrderPage extends State<PackageOrderPage> {
|
||||||
return _item(context, order);
|
return _item(context, order);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
});
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
String _imagePath(dynamic order) {
|
String _imagePath(dynamic order) {
|
||||||
|
@ -306,36 +306,47 @@ class _PackageOrderPage extends State<PackageOrderPage> {
|
||||||
Map<String, String> _labelsHashMap(dynamic order) {
|
Map<String, String> _labelsHashMap(dynamic order) {
|
||||||
return Map<String, String>.from({
|
return Map<String, String>.from({
|
||||||
if (order['isPending'] == true)
|
if (order['isPending'] == true)
|
||||||
'${FFLocalizations.of(context).getVariableText(ptText: 'Cód. Retirada', enText: 'Pickup Code')}:': order['id'].toString(),
|
'${FFLocalizations.of(context).getVariableText(ptText: 'Cód. Retirada', enText: 'Pickup Code')}:':
|
||||||
'${FFLocalizations.of(context).getVariableText(ptText: 'Categoria', enText: 'Category')}:': order['customCategory'],
|
order['id'].toString(),
|
||||||
'${FFLocalizations.of(context).getVariableText(ptText: 'Recebido em', enText: 'Received on')}:': ValidatorUtil.toLocalDateTime('yyyy-MM-dd HH:mm:ss', order['dtReceive']),
|
'${FFLocalizations.of(context).getVariableText(ptText: 'Categoria', enText: 'Category')}:':
|
||||||
|
order['customCategory'],
|
||||||
|
'${FFLocalizations.of(context).getVariableText(ptText: 'Recebido em', enText: 'Received on')}:':
|
||||||
|
ValidatorUtil.toLocalDateTime(
|
||||||
|
'yyyy-MM-dd HH:mm:ss', order['dtReceive']),
|
||||||
if (order['isPending'] == false)
|
if (order['isPending'] == false)
|
||||||
'${FFLocalizations.of(context).getVariableText(ptText: 'Retirado em', enText: 'Picked up on')}:': ValidatorUtil.toLocalDateTime('yyyy-MM-dd HH:mm:ss', order['dtPickUp']),
|
'${FFLocalizations.of(context).getVariableText(ptText: 'Retirado em', enText: 'Picked up on')}:':
|
||||||
|
ValidatorUtil.toLocalDateTime(
|
||||||
|
'yyyy-MM-dd HH:mm:ss', order['dtPickUp']),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, String> _labelsHashMapDialog(dynamic order) {
|
Map<String, String> _labelsHashMapDialog(dynamic order) {
|
||||||
return Map<String, String>.from({
|
return Map<String, String>.from({
|
||||||
if (order['isPending'] == true)
|
if (order['isPending'] == true)
|
||||||
'${FFLocalizations.of(context).getVariableText(ptText: 'Cód. Retirada', enText: 'Pickup Code')}:': order['id'].toString(),
|
'${FFLocalizations.of(context).getVariableText(ptText: 'Cód. Retirada', enText: 'Pickup Code')}:':
|
||||||
|
order['id'].toString(),
|
||||||
'${FFLocalizations.of(context).getVariableText(ptText: 'Categoria', enText: 'Category')}:': order['customCategory'],
|
'${FFLocalizations.of(context).getVariableText(ptText: 'Categoria', enText: 'Category')}:':
|
||||||
|
order['customCategory'],
|
||||||
if (order['code'] != null)
|
if (order['code'] != null)
|
||||||
'${FFLocalizations.of(context).getVariableText(ptText: 'Cód. Objeto', enText: 'Object Code')}:': order['code'],
|
'${FFLocalizations.of(context).getVariableText(ptText: 'Cód. Objeto', enText: 'Object Code')}:':
|
||||||
|
order['code'],
|
||||||
'${FFLocalizations.of(context).getVariableText(ptText: 'Entregue por', enText: 'Delivered by')}:': order['sendedBy'],
|
'${FFLocalizations.of(context).getVariableText(ptText: 'Entregue por', enText: 'Delivered by')}:':
|
||||||
|
order['sendedBy'],
|
||||||
'${FFLocalizations.of(context).getVariableText(ptText: 'Recebido por', enText: 'Received by')}:': order['receivedBy'],
|
'${FFLocalizations.of(context).getVariableText(ptText: 'Recebido por', enText: 'Received by')}:':
|
||||||
'${FFLocalizations.of(context).getVariableText(ptText: 'Recebido em', enText: 'Received on')}:': ValidatorUtil.toLocalDateTime('yyyy-MM-dd HH:mm:ss', order['dtReceive']),
|
order['receivedBy'],
|
||||||
|
'${FFLocalizations.of(context).getVariableText(ptText: 'Recebido em', enText: 'Received on')}:':
|
||||||
|
ValidatorUtil.toLocalDateTime(
|
||||||
|
'yyyy-MM-dd HH:mm:ss', order['dtReceive']),
|
||||||
if (order['isPending'] == false)
|
if (order['isPending'] == false)
|
||||||
'${FFLocalizations.of(context).getVariableText(ptText: 'Retirado por', enText: 'Picked up by')}:': order['pickedUpBy'],
|
'${FFLocalizations.of(context).getVariableText(ptText: 'Retirado por', enText: 'Picked up by')}:':
|
||||||
|
order['pickedUpBy'],
|
||||||
if (order['isPending'] == false)
|
if (order['isPending'] == false)
|
||||||
'${FFLocalizations.of(context).getVariableText(ptText: 'Retirado em', enText: 'Picked up on')}:': ValidatorUtil.toLocalDateTime('yyyy-MM-dd HH:mm:ss', order['dtPickUp']),
|
'${FFLocalizations.of(context).getVariableText(ptText: 'Retirado em', enText: 'Picked up on')}:':
|
||||||
|
ValidatorUtil.toLocalDateTime(
|
||||||
|
'yyyy-MM-dd HH:mm:ss', order['dtPickUp']),
|
||||||
if (order['message'] != null)
|
if (order['message'] != null)
|
||||||
'${FFLocalizations.of(context).getVariableText(ptText: 'Mensagem', enText: 'Message')}:': order['message']
|
'${FFLocalizations.of(context).getVariableText(ptText: 'Mensagem', enText: 'Message')}:':
|
||||||
|
order['message']
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -343,13 +354,16 @@ class _PackageOrderPage extends State<PackageOrderPage> {
|
||||||
return [
|
return [
|
||||||
if (order['isPending'] == true)
|
if (order['isPending'] == true)
|
||||||
Map<String, Color>.from({
|
Map<String, Color>.from({
|
||||||
FFLocalizations.of(context).getVariableText(ptText: 'Aguardando Retirada', enText: 'Waiting Pick up'): FlutterFlowTheme.of(context).warning,
|
FFLocalizations.of(context).getVariableText(
|
||||||
|
ptText: 'Aguardando Retirada',
|
||||||
|
enText: 'Waiting Pick up'): FlutterFlowTheme.of(context).warning,
|
||||||
})
|
})
|
||||||
else
|
else
|
||||||
Map<String, Color>.from({
|
Map<String, Color>.from({
|
||||||
FFLocalizations.of(context).getVariableText(ptText: 'Retirado', enText: 'Picked up'): FlutterFlowTheme.of(context).primary,
|
FFLocalizations.of(context).getVariableText(
|
||||||
|
ptText: 'Retirado',
|
||||||
|
enText: 'Picked up'): FlutterFlowTheme.of(context).primary,
|
||||||
}),
|
}),
|
||||||
|
|
||||||
if (order['adresseeType'] == 'PRO')
|
if (order['adresseeType'] == 'PRO')
|
||||||
Map<String, Color>.from({
|
Map<String, Color>.from({
|
||||||
FFLocalizations.of(context).getVariableText(
|
FFLocalizations.of(context).getVariableText(
|
||||||
|
@ -384,18 +398,22 @@ class _PackageOrderPage extends State<PackageOrderPage> {
|
||||||
statusHashMap: [
|
statusHashMap: [
|
||||||
if (order['isPending'] == true)
|
if (order['isPending'] == true)
|
||||||
Map<String, Color>.from({
|
Map<String, Color>.from({
|
||||||
FFLocalizations.of(context).getVariableText(ptText: 'Aguardando Retirada', enText: 'Waiting Pick up'): FlutterFlowTheme.of(context).warning,
|
FFLocalizations.of(context).getVariableText(
|
||||||
|
ptText: 'Aguardando Retirada',
|
||||||
|
enText: 'Waiting Pick up'):
|
||||||
|
FlutterFlowTheme.of(context).warning,
|
||||||
})
|
})
|
||||||
else
|
else
|
||||||
Map<String, Color>.from({
|
Map<String, Color>.from({
|
||||||
FFLocalizations.of(context).getVariableText(ptText: 'Retirado', enText: 'Picked up'): FlutterFlowTheme.of(context).primary,
|
FFLocalizations.of(context).getVariableText(
|
||||||
|
ptText: 'Retirado', enText: 'Picked up'):
|
||||||
|
FlutterFlowTheme.of(context).primary,
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
buttons: [],
|
buttons: [],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
});
|
||||||
);
|
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,8 +42,8 @@ class PreferencesPageWidget extends StatelessWidget {
|
||||||
),
|
),
|
||||||
title: Text(
|
title: Text(
|
||||||
FFLocalizations.of(context).getVariableText(
|
FFLocalizations.of(context).getVariableText(
|
||||||
enText: 'Preferences',
|
enText: 'System Settings',
|
||||||
ptText: 'Preferências',
|
ptText: 'Opções do Sistema',
|
||||||
),
|
),
|
||||||
style: FlutterFlowTheme.of(context).headlineMedium.override(
|
style: FlutterFlowTheme.of(context).headlineMedium.override(
|
||||||
fontFamily: 'Nunito',
|
fontFamily: 'Nunito',
|
||||||
|
|
|
@ -58,7 +58,7 @@ class _ProvisionalScheduleState extends State<ProvisionalSchedule> {
|
||||||
),
|
),
|
||||||
title: Text(
|
title: Text(
|
||||||
FFLocalizations.of(context).getVariableText(
|
FFLocalizations.of(context).getVariableText(
|
||||||
enText: 'Provisional Schedule',
|
enText: 'Schedule Providers',
|
||||||
ptText: 'Agendar Prestadores',
|
ptText: 'Agendar Prestadores',
|
||||||
),
|
),
|
||||||
style: FlutterFlowTheme.of(context).headlineMedium.override(
|
style: FlutterFlowTheme.of(context).headlineMedium.override(
|
||||||
|
|
|
@ -1,11 +1,9 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:google_fonts/google_fonts.dart';
|
import 'package:google_fonts/google_fonts.dart';
|
||||||
import 'package:hub/app_state.dart';
|
|
||||||
import 'package:hub/components/atomic_components/shared_components_atoms/atom_image_svg_theme.dart';
|
import 'package:hub/components/atomic_components/shared_components_atoms/atom_image_svg_theme.dart';
|
||||||
import 'package:hub/flutter_flow/flutter_flow_theme.dart';
|
import 'package:hub/flutter_flow/flutter_flow_theme.dart';
|
||||||
import 'package:hub/flutter_flow/flutter_flow_util.dart';
|
import 'package:hub/flutter_flow/flutter_flow_util.dart';
|
||||||
import 'package:hub/flutter_flow/flutter_flow_widgets.dart';
|
import 'package:hub/flutter_flow/flutter_flow_widgets.dart';
|
||||||
import 'package:hub/flutter_flow/internationalization.dart';
|
|
||||||
import 'package:hub/flutter_flow/nav/nav.dart';
|
import 'package:hub/flutter_flow/nav/nav.dart';
|
||||||
import 'package:hub/pages/reception_page/reception_page_model.dart';
|
import 'package:hub/pages/reception_page/reception_page_model.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
@ -120,8 +118,8 @@ class _ReceptionPageWidgetState extends State<ReceptionPageWidget> {
|
||||||
.titleSmall
|
.titleSmall
|
||||||
.override(
|
.override(
|
||||||
fontFamily: 'Nunito Sans',
|
fontFamily: 'Nunito Sans',
|
||||||
color: FlutterFlowTheme.of(context)
|
color:
|
||||||
.primaryBackground,
|
FlutterFlowTheme.of(context).info,
|
||||||
fontSize: 14.0,
|
fontSize: 14.0,
|
||||||
letterSpacing: 0.0,
|
letterSpacing: 0.0,
|
||||||
fontWeight: FontWeight.w500,
|
fontWeight: FontWeight.w500,
|
||||||
|
|
|
@ -3,8 +3,11 @@ import 'package:cached_network_image/cached_network_image.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/scheduler.dart';
|
import 'package:flutter/scheduler.dart';
|
||||||
import 'package:flutter_spinkit/flutter_spinkit.dart';
|
import 'package:flutter_spinkit/flutter_spinkit.dart';
|
||||||
|
import 'package:fluttertoast/fluttertoast.dart';
|
||||||
import 'package:google_fonts/google_fonts.dart';
|
import 'package:google_fonts/google_fonts.dart';
|
||||||
|
import 'package:hub/actions/actions.dart';
|
||||||
import 'package:hub/backend/api_requests/api_calls.dart';
|
import 'package:hub/backend/api_requests/api_calls.dart';
|
||||||
|
import 'package:hub/components/atomic_components/shared_components_atoms/toast.dart';
|
||||||
import 'package:hub/components/templates_components/details_component/details_component_widget.dart';
|
import 'package:hub/components/templates_components/details_component/details_component_widget.dart';
|
||||||
import 'package:hub/components/templates_components/visitor_search_modal_template_component/visitor_search_modal_template_component_widget.dart';
|
import 'package:hub/components/templates_components/visitor_search_modal_template_component/visitor_search_modal_template_component_widget.dart';
|
||||||
import 'package:hub/flutter_flow/custom_functions.dart';
|
import 'package:hub/flutter_flow/custom_functions.dart';
|
||||||
|
@ -1606,6 +1609,75 @@ Widget scheduleVisit(BuildContext context,
|
||||||
),
|
),
|
||||||
onPressed: _model.isValid()
|
onPressed: _model.isValid()
|
||||||
? () async {
|
? () async {
|
||||||
|
Future<void> scheduleVisit() async {
|
||||||
|
await PhpGroup.postScheduleVisitCall
|
||||||
|
.call(
|
||||||
|
devUUID: AppState().devUUID,
|
||||||
|
userUUID: AppState().userUUID,
|
||||||
|
atividade: 'putVisita',
|
||||||
|
devDesc: _model.textController3.text,
|
||||||
|
idVisitante: _model.visitorStrList,
|
||||||
|
dtInicio: _model
|
||||||
|
.convertDateFormat(_model.textController1.text ?? ''),
|
||||||
|
dtFim: _model
|
||||||
|
.convertDateFormat(_model.textController2.text ?? ''),
|
||||||
|
unica: _model.switchValue == true ? 'Sim' : 'Não',
|
||||||
|
idMotivo: extractIdToStr(_model.dropDownValue1!),
|
||||||
|
idNAC: extractIdToStr(_model.dropDownValue2!),
|
||||||
|
obs: _model.textController3.text,
|
||||||
|
cliID: AppState().cliUUID,
|
||||||
|
)
|
||||||
|
.catchError((e) async {
|
||||||
|
await DialogUtil.errorDefault(context);
|
||||||
|
}).then((value) async {
|
||||||
|
if (PhpGroup.postScheduleVisitCall.error(
|
||||||
|
(value.jsonBody ?? ''),
|
||||||
|
) ==
|
||||||
|
false) {
|
||||||
|
Navigator.pop(context);
|
||||||
|
|
||||||
|
//MILESTONE
|
||||||
|
_model.dropDownValue1 = null;
|
||||||
|
_model.dropDownValue2 = null;
|
||||||
|
_model.dropDownValueController1 =
|
||||||
|
FormFieldController<String>('');
|
||||||
|
_model.dropDownValueController2 =
|
||||||
|
FormFieldController<String>('');
|
||||||
|
_model.visitorStrList = '';
|
||||||
|
_model.visitorJsonList = [];
|
||||||
|
|
||||||
|
ToastUtil.showToast(
|
||||||
|
message: FFLocalizations.of(context)
|
||||||
|
.getVariableText(
|
||||||
|
ptText: 'Visitante já adicionado!',
|
||||||
|
enText: 'Visitor already added!'),
|
||||||
|
gravity: ToastGravity.TOP,
|
||||||
|
backgroundColor: Colors.green);
|
||||||
|
|
||||||
|
await showShare(value.jsonBody);
|
||||||
|
} else {
|
||||||
|
await DialogUtil.errorDefault(context);
|
||||||
|
Navigator.pop(context);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
safeSetState(() {});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_model.visitorJsonList.length > 1) {
|
||||||
|
final title = FFLocalizations.of(context).getVariableText(
|
||||||
|
ptText: 'Cadastrar Múltiplos Visitantes',
|
||||||
|
enText: 'Register Multiple Visitors',
|
||||||
|
);
|
||||||
|
final content = FFLocalizations.of(context).getVariableText(
|
||||||
|
ptText:
|
||||||
|
'Você deseja agendar uma visita para ${_model.visitorJsonList.length} visitantes?',
|
||||||
|
enText:
|
||||||
|
'Do you want to schedule a visit for ${_model.visitorJsonList.length} visitors?',
|
||||||
|
);
|
||||||
|
|
||||||
|
showAlertDialog(context, title, content, scheduleVisit);
|
||||||
|
} else {
|
||||||
await showDialog(
|
await showDialog(
|
||||||
context: context,
|
context: context,
|
||||||
builder: (context) {
|
builder: (context) {
|
||||||
|
@ -1617,21 +1689,6 @@ Widget scheduleVisit(BuildContext context,
|
||||||
child: Dialog(
|
child: Dialog(
|
||||||
alignment: Alignment.topCenter,
|
alignment: Alignment.topCenter,
|
||||||
child: SizedBox(
|
child: SizedBox(
|
||||||
// width: MediaQuery.of(context).size.width,
|
|
||||||
// height: MediaQuery.of(context).size.height * 0.7,
|
|
||||||
// child: VisitDetailsModalTemplateComponentWidget(
|
|
||||||
// visitStartDateStr: _model.textController1.text,
|
|
||||||
// visitEndDateStr: _model.textController2.text,
|
|
||||||
// visitReasonStr: _model.dropDownValue1,
|
|
||||||
// visitLevelStr: _model.dropDownValue2,
|
|
||||||
// visitTempStr:
|
|
||||||
// _model.switchValue == true ? 'Sim' : 'Não',
|
|
||||||
// visitObsStr: _model.textController3.text,
|
|
||||||
// visitorStrList: _model.visitorStrList,
|
|
||||||
// visitorJsonList: _model.visitorJsonList,
|
|
||||||
// updateToggleIdx: () async {},
|
|
||||||
// repeatVisitSchedule: () async {},
|
|
||||||
// ),
|
|
||||||
child: DetailsComponentWidget(
|
child: DetailsComponentWidget(
|
||||||
buttons: [
|
buttons: [
|
||||||
FFButtonWidget(
|
FFButtonWidget(
|
||||||
|
@ -1641,74 +1698,7 @@ Widget scheduleVisit(BuildContext context,
|
||||||
ptText: 'Confirmar',
|
ptText: 'Confirmar',
|
||||||
),
|
),
|
||||||
icon: const Icon(Icons.done),
|
icon: const Icon(Icons.done),
|
||||||
onPressed: () async {
|
onPressed: scheduleVisit,
|
||||||
showAlertDialog(
|
|
||||||
context,
|
|
||||||
FFLocalizations.of(context)
|
|
||||||
.getVariableText(
|
|
||||||
ptText: 'Ativar Visita',
|
|
||||||
enText: 'Activate Visit',
|
|
||||||
),
|
|
||||||
FFLocalizations.of(context)
|
|
||||||
.getVariableText(
|
|
||||||
ptText:
|
|
||||||
'Você tem certeza que deseja ativar essa visita?',
|
|
||||||
enText:
|
|
||||||
'Are you sure you want to activate this visit?',
|
|
||||||
), () async {
|
|
||||||
await PhpGroup.postScheduleVisitCall
|
|
||||||
.call(
|
|
||||||
devUUID: AppState().devUUID,
|
|
||||||
userUUID: AppState().userUUID,
|
|
||||||
atividade: 'putVisita',
|
|
||||||
devDesc: _model.textController3.text,
|
|
||||||
idVisitante: _model.visitorStrList,
|
|
||||||
dtInicio: _model.convertDateFormat(
|
|
||||||
_model.textController1.text ?? ''),
|
|
||||||
dtFim: _model.convertDateFormat(
|
|
||||||
_model.textController2.text ?? ''),
|
|
||||||
unica: _model.switchValue == true
|
|
||||||
? 'Sim'
|
|
||||||
: 'Não',
|
|
||||||
idMotivo: extractIdToStr(
|
|
||||||
_model.dropDownValue1!),
|
|
||||||
idNAC: extractIdToStr(
|
|
||||||
_model.dropDownValue2!),
|
|
||||||
obs: _model.textController3.text,
|
|
||||||
cliID: AppState().cliUUID,
|
|
||||||
)
|
|
||||||
.catchError((e) async {
|
|
||||||
await DialogUtil.errorDefault(context);
|
|
||||||
}).then((value) async {
|
|
||||||
if (PhpGroup.postScheduleVisitCall
|
|
||||||
.error(
|
|
||||||
(value.jsonBody ?? ''),
|
|
||||||
) ==
|
|
||||||
false) {
|
|
||||||
Navigator.pop(context);
|
|
||||||
Navigator.pop(context);
|
|
||||||
showSnackbar(
|
|
||||||
context,
|
|
||||||
FFLocalizations.of(context)
|
|
||||||
.getVariableText(
|
|
||||||
enText:
|
|
||||||
'Success in scheduling visit',
|
|
||||||
ptText:
|
|
||||||
'Succeso ao agendar a visita',
|
|
||||||
),
|
|
||||||
false,
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
await DialogUtil.errorDefault(
|
|
||||||
context);
|
|
||||||
Navigator.pop(context);
|
|
||||||
Navigator.pop(context);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
safeSetState(() {});
|
|
||||||
});
|
|
||||||
},
|
|
||||||
options: FFButtonOptions(
|
options: FFButtonOptions(
|
||||||
width: 130,
|
width: 130,
|
||||||
height: 40,
|
height: 40,
|
||||||
|
@ -1746,8 +1736,9 @@ Widget scheduleVisit(BuildContext context,
|
||||||
?.group(1)
|
?.group(1)
|
||||||
.toString()) ??
|
.toString()) ??
|
||||||
'',
|
'',
|
||||||
'Single Visit':
|
'Single Visit': _model.switchValue == true
|
||||||
_model.switchValue == true ? 'Sim' : 'Não',
|
? 'Sim'
|
||||||
|
: 'Não',
|
||||||
if (_model.textController3.text.isNotEmpty)
|
if (_model.textController3.text.isNotEmpty)
|
||||||
'Observation': _model.textController3.text,
|
'Observation': _model.textController3.text,
|
||||||
},
|
},
|
||||||
|
@ -1767,6 +1758,7 @@ Widget scheduleVisit(BuildContext context,
|
||||||
},
|
},
|
||||||
).then((value) => safeSetState(() {}));
|
).then((value) => safeSetState(() {}));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
: null,
|
: null,
|
||||||
options: FFButtonOptions(
|
options: FFButtonOptions(
|
||||||
height: MediaQuery.of(context).size.height * 0.05,
|
height: MediaQuery.of(context).size.height * 0.05,
|
||||||
|
|
|
@ -87,7 +87,6 @@ class CustomDrawer extends StatelessWidget {
|
||||||
fontWeight: FontWeight.normal,
|
fontWeight: FontWeight.normal,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
SizedBox(height: 5),
|
|
||||||
Text(
|
Text(
|
||||||
AppState().email,
|
AppState().email,
|
||||||
style: FlutterFlowTheme.of(context).bodySmall.override(
|
style: FlutterFlowTheme.of(context).bodySmall.override(
|
||||||
|
|
32
pubspec.lock
32
pubspec.lock
|
@ -817,18 +817,18 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: leak_tracker
|
name: leak_tracker
|
||||||
sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a"
|
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "10.0.4"
|
version: "10.0.5"
|
||||||
leak_tracker_flutter_testing:
|
leak_tracker_flutter_testing:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: leak_tracker_flutter_testing
|
name: leak_tracker_flutter_testing
|
||||||
sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8"
|
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.3"
|
version: "3.0.5"
|
||||||
leak_tracker_testing:
|
leak_tracker_testing:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -905,10 +905,18 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: material_color_utilities
|
name: material_color_utilities
|
||||||
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
|
sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.8.0"
|
version: "0.11.1"
|
||||||
|
material_symbols_icons:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: material_symbols_icons
|
||||||
|
sha256: b72bf7566d024d51627dce81b1b98539830a0e3ffbb5784989aa3e97c8493160
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "4.2784.0"
|
||||||
maybe_just_nothing:
|
maybe_just_nothing:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -921,10 +929,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: meta
|
name: meta
|
||||||
sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
|
sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.12.0"
|
version: "1.15.0"
|
||||||
mime:
|
mime:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -1342,10 +1350,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: test_api
|
name: test_api
|
||||||
sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
|
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.7.0"
|
version: "0.7.2"
|
||||||
timeago:
|
timeago:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -1510,10 +1518,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: vm_service
|
name: vm_service
|
||||||
sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec"
|
sha256: f652077d0bdf60abe4c1f6377448e8655008eef28f128bc023f7b5e8dfeb48fc
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "14.2.1"
|
version: "14.2.4"
|
||||||
web:
|
web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -86,6 +86,7 @@ dependencies:
|
||||||
video_player_avfoundation: 2.6.1
|
video_player_avfoundation: 2.6.1
|
||||||
video_player_platform_interface: 6.2.2
|
video_player_platform_interface: 6.2.2
|
||||||
video_player_web: 2.3.1
|
video_player_web: 2.3.1
|
||||||
|
material_symbols_icons: ^4.2784.0
|
||||||
fluttertoast: ^8.2.8
|
fluttertoast: ^8.2.8
|
||||||
|
|
||||||
cupertino_icons: ^1.0.0
|
cupertino_icons: ^1.0.0
|
||||||
|
|
Loading…
Reference in New Issue